From 2b01453f5044e5ed9bc91895711fd85576daca86 Mon Sep 17 00:00:00 2001 From: Benjamin Perche Date: Wed, 23 Jul 2014 08:33:42 +0200 Subject: [PATCH] =?UTF-8?q?Begin=20SEO=20Export=20=09modifi=C3=A9:=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20core/lib/Thelia/ImportExport/Export/Type/P?= =?UTF-8?q?roductSEOExport.php?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Export/Type/ProductSEOExport.php | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/core/lib/Thelia/ImportExport/Export/Type/ProductSEOExport.php b/core/lib/Thelia/ImportExport/Export/Type/ProductSEOExport.php index 93fdff6d3..6e01834c2 100644 --- a/core/lib/Thelia/ImportExport/Export/Type/ProductSEOExport.php +++ b/core/lib/Thelia/ImportExport/Export/Type/ProductSEOExport.php @@ -11,8 +11,14 @@ /*************************************************************************************/ namespace Thelia\ImportExport\Export\Type; +use Thelia\Core\FileFormat\Formatting\FormatterData; use Thelia\Core\FileFormat\FormatType; 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; /** @@ -53,7 +59,66 @@ class ProductSEOExport extends ExportHandler */ 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); } } \ No newline at end of file