Begin SEO Export
modifié: core/lib/Thelia/ImportExport/Export/Type/ProductSEOExport.php
This commit is contained in:
@@ -11,8 +11,14 @@
|
|||||||
/*************************************************************************************/
|
/*************************************************************************************/
|
||||||
|
|
||||||
namespace Thelia\ImportExport\Export\Type;
|
namespace Thelia\ImportExport\Export\Type;
|
||||||
|
use Thelia\Core\FileFormat\Formatting\FormatterData;
|
||||||
use Thelia\Core\FileFormat\FormatType;
|
use Thelia\Core\FileFormat\FormatType;
|
||||||
use Thelia\ImportExport\Export\ExportHandler;
|
use Thelia\ImportExport\Export\ExportHandler;
|
||||||
|
use Thelia\Model\Map\ContentI18nTableMap;
|
||||||
|
use Thelia\Model\Map\ContentTableMap;
|
||||||
|
use Thelia\Model\Map\ProductI18nTableMap;
|
||||||
|
use Thelia\Model\Map\ProductTableMap;
|
||||||
|
use Thelia\Model\ProductAssociatedContentQuery;
|
||||||
use Thelia\Model\Lang;
|
use Thelia\Model\Lang;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -53,7 +59,66 @@ class ProductSEOExport extends ExportHandler
|
|||||||
*/
|
*/
|
||||||
public function buildFormatterData(Lang $lang)
|
public function buildFormatterData(Lang $lang)
|
||||||
{
|
{
|
||||||
|
$aliases = [
|
||||||
|
"product_REF" => "ref",
|
||||||
|
"product_VISIBLE" => "visible",
|
||||||
|
"product_i18n_TITLE" => "product_title",
|
||||||
|
"content_URL" => "url",
|
||||||
|
"content_TITLE" => "page_title",
|
||||||
|
"content_META_DESCRIPTION" => "meta_description",
|
||||||
|
"content_META_KEYWORDS" => "meta_keywords",
|
||||||
|
];
|
||||||
|
|
||||||
|
$locale = $lang->getLocale();
|
||||||
|
|
||||||
|
$query = ProductAssociatedContentQuery::create()
|
||||||
|
->useContentQuery()
|
||||||
|
->useContentI18nQuery()
|
||||||
|
->addAsColumn("content_URL", "")
|
||||||
|
->addAsColumn("content_TITLE", ContentI18nTableMap::TITLE)
|
||||||
|
->addAsColumn("content_META_DESCRIPTION", ContentI18nTableMap::META_DESCRIPTION)
|
||||||
|
->addAsColumn("content_META_KEYWORDS", ContentI18nTableMap::META_KEYWORDS)
|
||||||
|
->endUse()
|
||||||
|
->endUse()
|
||||||
|
->useProductQuery()
|
||||||
|
->useProductI18nQuery()
|
||||||
|
->addAsColumn("product_i18n_TITLE", ProductI18nTableMap::TITLE)
|
||||||
|
->endUse()
|
||||||
|
->addAsColumn("product_REF", ProductTableMap::REF)
|
||||||
|
->addAsColumn("product_VISIBLE", ProductTableMap::VISIBLE)
|
||||||
|
->endUse()
|
||||||
|
->select([
|
||||||
|
"product_REF",
|
||||||
|
"product_VISIBLE",
|
||||||
|
"product_i18n_TITLE",
|
||||||
|
"content_URL",
|
||||||
|
"content_TITLE",
|
||||||
|
"content_META_DESCRIPTION",
|
||||||
|
"content_META_KEYWORDS",
|
||||||
|
])
|
||||||
|
;
|
||||||
|
|
||||||
|
$this->addI18nCondition(
|
||||||
|
$query,
|
||||||
|
ContentI18nTableMap::TABLE_NAME,
|
||||||
|
ContentTableMap::ID,
|
||||||
|
ContentI18nTableMap::ID,
|
||||||
|
ContentI18nTableMap::LOCALE,
|
||||||
|
$locale
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->addI18nCondition(
|
||||||
|
$query,
|
||||||
|
ProductI18nTableMap::TABLE_NAME,
|
||||||
|
ProductTableMap::ID,
|
||||||
|
ProductI18nTableMap::ID,
|
||||||
|
ProductI18nTableMap::LOCALE,
|
||||||
|
$locale
|
||||||
|
);
|
||||||
|
|
||||||
|
$data = new FormatterData($aliases);
|
||||||
|
|
||||||
|
return $data->loadModelCriteria($query);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user