Skip to content

Commit 50b8662

Browse files
FFWEB-2676: Export category for suggest
1 parent a41e7c3 commit 50b8662

38 files changed

Lines changed: 823 additions & 74 deletions

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
# Changelog
2+
## Unreleased
3+
### Add
4+
- Export category for suggest
5+
26
## [v4.4.1] - 2023.03.08
37
### Add
48
- Add add option to send the SID as userId when user not logged in

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,10 @@ For category export:
218218

219219
[YOUR_SHOP_URL]?cl=http_category_feed&fnc=export
220220

221+
For suggest category export:
222+
223+
[YOUR_SHOP_URL]?cl=http_suggest_category_feed&fnc=export
224+
221225
**Note:** Please keep in mind that the feed file is not directly available under the location. There is an export mechanism that does it on demand, so the whole process may take some time.
222226

223227
#### Basic Authentication

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
},
3333
"autoload-dev": {
3434
"psr-4": {
35-
"Tests\\": "tests/"
35+
"FactFinderTests\\": "tests/"
3636
}
3737
},
3838
"extra": {

phpunit.xml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,4 @@
1717
<directory>tests/Unit</directory>
1818
</testsuite>
1919
</testsuites>
20-
21-
<coverage cacheDirectory=".phpunit.cache/code-coverage"
22-
processUncoveredFiles="true">
23-
<include>
24-
<directory suffix=".php">src</directory>
25-
</include>
26-
</coverage>
2720
</phpunit>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Omikron\FactFinder\Oxid\Controller;
6+
7+
use Omikron\FactFinder\Oxid\Export\SuggestCategoryFeed;
8+
9+
class SuggestCategoryFeedController extends ArticleFeedController
10+
{
11+
protected $exportedType = SuggestCategoryFeed::class;
12+
}

src/Export/AbstractFeed.php

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
namespace Omikron\FactFinder\Oxid\Export;
66

7-
use Omikron\FactFinder\Oxid\Export\Field\FieldInterface;
87
use Omikron\FactFinder\Oxid\Export\Stream\StreamInterface;
98
use OxidEsales\Eshop\Core\Registry;
109
use ReflectionClass;
@@ -28,9 +27,4 @@ protected function getChannel(string $lang): string
2827
{
2928
return Registry::getConfig()->getConfigParam('ffChannel')[$lang];
3029
}
31-
32-
protected function getFieldName(FieldInterface $field): string
33-
{
34-
return $field->getName();
35-
}
3630
}

src/Export/ArticleFeed.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66

77
use Omikron\FactFinder\Oxid\Export\Data\ArticleCollection;
88
use Omikron\FactFinder\Oxid\Export\Entity\DataProvider;
9+
use Omikron\FactFinder\Oxid\Export\Field\Article\FieldInterface;
910
use Omikron\FactFinder\Oxid\Export\Field\Attribute as AttributeField;
1011
use Omikron\FactFinder\Oxid\Export\Field\Brand;
1112
use Omikron\FactFinder\Oxid\Export\Field\CategoryPath;
12-
use Omikron\FactFinder\Oxid\Export\Field\FieldInterface;
1313
use Omikron\FactFinder\Oxid\Export\Field\FilterAttributes;
1414
use Omikron\FactFinder\Oxid\Export\Field\Keywords;
1515
use Omikron\FactFinder\Oxid\Export\Stream\StreamInterface;
@@ -62,4 +62,9 @@ protected function getConfigFields(): array
6262
return oxNew(AttributeField::class, $attribute);
6363
}, array_values(oxNew(ExportConfig::class)->getSingleFields()));
6464
}
65+
66+
protected function getFieldName(FieldInterface $field): string
67+
{
68+
return $field->getName();
69+
}
6570
}

src/Export/CategoryFeed.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
use Omikron\FactFinder\Oxid\Export\Data\CategoryCollection;
88
use Omikron\FactFinder\Oxid\Export\Entity\DataProvider;
9-
use Omikron\FactFinder\Oxid\Export\Field\FieldInterface;
9+
use Omikron\FactFinder\Oxid\Export\Field\Article\FieldInterface;
1010
use Omikron\FactFinder\Oxid\Export\Stream\StreamInterface;
1111

1212
class CategoryFeed extends AbstractFeed
@@ -44,4 +44,9 @@ protected function getAdditionalFields(): array
4444
{
4545
return [];
4646
}
47+
48+
protected function getFieldName(FieldInterface $field): string
49+
{
50+
return $field->getName();
51+
}
4752
}

src/Export/Entity/ArticleEntity.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace Omikron\FactFinder\Oxid\Export\Entity;
66

7-
use Omikron\FactFinder\Oxid\Export\Field\FieldInterface;
7+
use Omikron\FactFinder\Oxid\Export\Field\Article\FieldInterface;
88
use OxidEsales\Eshop\Application\Model\Article;
99

1010
class ArticleEntity implements ExportEntityInterface, DataProviderInterface

src/Export/Entity/DataProvider.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,19 @@
55
namespace Omikron\FactFinder\Oxid\Export\Entity;
66

77
use Omikron\FactFinder\Oxid\Export\Data\CollectionInterface;
8-
use Omikron\FactFinder\Oxid\Export\Field\FieldInterface;
8+
use Omikron\FactFinder\Oxid\Export\Field\Article\FieldInterface as ArticleField;
9+
use Omikron\FactFinder\Oxid\Export\Field\Category\FieldInterface as CategoryField;
910
use OxidEsales\Eshop\Core\Model\MultiLanguageModel;
1011

1112
class DataProvider implements DataProviderInterface
1213
{
13-
/** @var FieldInterface[] */
14+
/** @var ArticleField[]|CategoryField[] */
1415
private $fields;
1516

1617
/** @var CollectionInterface */
1718
private $collection;
1819

19-
public function __construct(CollectionInterface $collection, FieldInterface ...$fields)
20+
public function __construct(CollectionInterface $collection, ...$fields)
2021
{
2122
$this->collection = $collection;
2223
$this->fields = $fields;

0 commit comments

Comments
 (0)