42
42
class FeedApi
43
43
{
44
44
private const FEED_FILE_NAME = 'facebook_products%s.csv ' ;
45
- private const FB_FEED_NAME = 'Magento Autogenerated Feed ' ;
45
+ private const FB_FEED_NAME = 'Magento Product Feed ' ;
46
+
47
+ private const OLD_FB_FEED_NAME = 'Magento Autogenerated Feed ' ;
46
48
47
49
/**
48
50
* @var int
@@ -88,11 +90,11 @@ class FeedApi
88
90
* @param LoggerInterface $logger
89
91
*/
90
92
public function __construct (
91
- SystemConfig $ systemConfig ,
93
+ SystemConfig $ systemConfig ,
92
94
GraphAPIAdapter $ graphApiAdapter ,
93
- Filesystem $ filesystem ,
94
- array $ productRetrievers ,
95
- Builder $ builder ,
95
+ Filesystem $ filesystem ,
96
+ array $ productRetrievers ,
97
+ Builder $ builder ,
96
98
LoggerInterface $ logger
97
99
) {
98
100
$ this ->systemConfig = $ systemConfig ;
@@ -114,17 +116,18 @@ private function getFbFeedId()
114
116
{
115
117
$ feedId = $ this ->systemConfig ->getFeedId ($ this ->storeId );
116
118
$ feedName = self ::FB_FEED_NAME ;
119
+ $ oldFeedName = self ::OLD_FB_FEED_NAME ;
117
120
$ catalogId = $ this ->systemConfig ->getCatalogId ($ this ->storeId );
118
121
$ catalogFeeds = $ this ->graphApiAdapter ->getCatalogFeeds ($ catalogId );
119
122
120
123
// make sure feed exists on meta side, not deleted
121
124
$ feedId = $ this ->verifyFeedExistsInMetaCatalog ($ feedId , $ catalogFeeds );
122
125
123
126
// If feedId does not exist in Magento or deleted on Meta,
124
- // try to reuse the Feed with name 'Magento Autogenerated Feed'
127
+ // try to find feed with Name
125
128
if (!$ feedId ) {
126
- $ magentoFeeds = array_filter ($ catalogFeeds , function ($ a ) use ($ feedName ) {
127
- return $ a ['name ' ] === $ feedName ;
129
+ $ magentoFeeds = array_filter ($ catalogFeeds , function ($ a ) use ($ feedName, $ oldFeedName ) {
130
+ return ( $ a ['name ' ] === $ feedName || $ a [ ' name ' ] === $ oldFeedName ) ;
128
131
});
129
132
if (!empty ($ magentoFeeds )) {
130
133
$ feedId = $ magentoFeeds [array_key_first ($ magentoFeeds )]['id ' ];
@@ -219,7 +222,6 @@ private function writeFile(WriteInterface $fileStream)
219
222
220
223
$ total = 0 ;
221
224
foreach ($ this ->productRetrievers as $ productRetriever ) {
222
-
223
225
$ productRetriever ->setStoreId ($ this ->storeId );
224
226
$ offset = 0 ;
225
227
$ limit = $ productRetriever ->getLimit ();
0 commit comments