Fix Product SEO export
modifié: core/lib/Thelia/ImportExport/Export/Type/ProductSEOExport.php modifié: core/lib/Thelia/Tests/ImportExport/Export/ProductSEOExportTest.php
This commit is contained in:
@@ -68,9 +68,9 @@ class ProductSEOExport extends ExportHandler
|
|||||||
"product_VISIBLE" => "visible",
|
"product_VISIBLE" => "visible",
|
||||||
"product_i18n_TITLE" => "product_title",
|
"product_i18n_TITLE" => "product_title",
|
||||||
"product_URL" => "url",
|
"product_URL" => "url",
|
||||||
"content_TITLE" => "content_title",
|
"product_seo_TITLE" => "page_title",
|
||||||
"content_META_DESCRIPTION" => "meta_description",
|
"product_seo_META_DESCRIPTION" => "meta_description",
|
||||||
"content_META_KEYWORDS" => "meta_keywords",
|
"product_seo_META_KEYWORDS" => "meta_keywords",
|
||||||
];
|
];
|
||||||
|
|
||||||
$locale = $this->locale = $lang->getLocale();
|
$locale = $this->locale = $lang->getLocale();
|
||||||
@@ -79,23 +79,18 @@ class ProductSEOExport extends ExportHandler
|
|||||||
* Join objects
|
* Join objects
|
||||||
*/
|
*/
|
||||||
$urlJoin = new Join(ProductTableMap::ID, RewritingUrlTableMap::VIEW_ID, Criteria::LEFT_JOIN);
|
$urlJoin = new Join(ProductTableMap::ID, RewritingUrlTableMap::VIEW_ID, Criteria::LEFT_JOIN);
|
||||||
$contentJoin = new Join(ContentTableMap::ID, ContentI18nTableMap::ID, Criteria::LEFT_JOIN);
|
|
||||||
$productJoin = new Join(ProductTableMap::ID, ProductI18nTableMap::ID, Criteria::LEFT_JOIN);
|
$productJoin = new Join(ProductTableMap::ID, ProductI18nTableMap::ID, Criteria::LEFT_JOIN);
|
||||||
|
|
||||||
$query = ProductAssociatedContentQuery::create()
|
$query = ProductAssociatedContentQuery::create()
|
||||||
->useContentQuery()
|
|
||||||
->addJoinObject($contentJoin, "content_join")
|
|
||||||
->addJoinCondition("content_join", ContentI18nTableMap::LOCALE . "=" . $this->real_escape($locale))
|
|
||||||
->addAsColumn("content_TITLE", ContentI18nTableMap::TITLE)
|
|
||||||
->addAsColumn("content_META_DESCRIPTION", ContentI18nTableMap::META_DESCRIPTION)
|
|
||||||
->addAsColumn("content_META_KEYWORDS", ContentI18nTableMap::META_KEYWORDS)
|
|
||||||
->endUse()
|
|
||||||
->useProductQuery()
|
->useProductQuery()
|
||||||
->addJoinObject($productJoin, "product_join")
|
->addJoinObject($productJoin, "product_join")
|
||||||
->addJoinCondition("product_join", ProductI18nTableMap::LOCALE . "=" . $this->real_escape($locale))
|
->addJoinCondition("product_join", ProductI18nTableMap::LOCALE . "=" . $this->real_escape($locale))
|
||||||
->addAsColumn("product_i18n_TITLE", ProductI18nTableMap::TITLE)
|
->addAsColumn("product_i18n_TITLE", ProductI18nTableMap::TITLE)
|
||||||
->addAsColumn("product_REF", ProductTableMap::REF)
|
->addAsColumn("product_REF", ProductTableMap::REF)
|
||||||
->addAsColumn("product_VISIBLE", ProductTableMap::VISIBLE)
|
->addAsColumn("product_VISIBLE", ProductTableMap::VISIBLE)
|
||||||
|
->addAsColumn("product_seo_TITLE", ProductI18nTableMap::META_TITLE)
|
||||||
|
->addAsColumn("product_seo_META_DESCRIPTION", ProductI18nTableMap::META_DESCRIPTION)
|
||||||
|
->addAsColumn("product_seo_META_KEYWORDS", ProductI18nTableMap::META_KEYWORDS)
|
||||||
->endUse()
|
->endUse()
|
||||||
->addJoinObject($urlJoin, "rewriting_url_join")
|
->addJoinObject($urlJoin, "rewriting_url_join")
|
||||||
->addJoinCondition("rewriting_url_join", RewritingUrlTableMap::VIEW_LOCALE . "=" . $this->real_escape($locale))
|
->addJoinCondition("rewriting_url_join", RewritingUrlTableMap::VIEW_LOCALE . "=" . $this->real_escape($locale))
|
||||||
@@ -110,9 +105,9 @@ class ProductSEOExport extends ExportHandler
|
|||||||
"product_VISIBLE",
|
"product_VISIBLE",
|
||||||
"product_i18n_TITLE",
|
"product_i18n_TITLE",
|
||||||
"product_URL",
|
"product_URL",
|
||||||
"content_TITLE",
|
"product_seo_TITLE",
|
||||||
"content_META_DESCRIPTION",
|
"product_seo_META_DESCRIPTION",
|
||||||
"content_META_KEYWORDS",
|
"product_seo_META_KEYWORDS",
|
||||||
])
|
])
|
||||||
;
|
;
|
||||||
|
|
||||||
@@ -128,7 +123,7 @@ class ProductSEOExport extends ExportHandler
|
|||||||
"product_title",
|
"product_title",
|
||||||
"visible",
|
"visible",
|
||||||
"url",
|
"url",
|
||||||
"content_title",
|
"page_title",
|
||||||
"meta_description",
|
"meta_description",
|
||||||
"meta_keywords",
|
"meta_keywords",
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ class ProductSEOExportTest extends \PHPUnit_Framework_TestCase
|
|||||||
|
|
||||||
$data = $export->buildFormatterData(Lang::getDefaultLanguage());
|
$data = $export->buildFormatterData(Lang::getDefaultLanguage());
|
||||||
|
|
||||||
$keys=["ref","visible","product_title","url","content_title","meta_description","meta_keywords",];
|
$keys=["ref","visible","product_title","url","page_title","meta_description","meta_keywords",];
|
||||||
sort($keys);
|
sort($keys);
|
||||||
$rawData = $data->getData();
|
$rawData = $data->getData();
|
||||||
|
|
||||||
@@ -60,26 +60,13 @@ class ProductSEOExportTest extends \PHPUnit_Framework_TestCase
|
|||||||
$product = ProductQuery::create()->findOneByRef($row["ref"]);
|
$product = ProductQuery::create()->findOneByRef($row["ref"]);
|
||||||
$this->assertNotNull($product);
|
$this->assertNotNull($product);
|
||||||
|
|
||||||
$contentI18n = ContentI18nQuery::create()
|
|
||||||
->filterByTitle($row["content_title"])
|
|
||||||
->filterByLocale("en_US")
|
|
||||||
->findOne();
|
|
||||||
|
|
||||||
$contentsObj = ProductAssociatedContentQuery::create()
|
|
||||||
->filterByProduct($product)
|
|
||||||
;
|
|
||||||
|
|
||||||
if (null !== $contentI18n) {
|
|
||||||
$contentsObj->filterByContentId($contentI18n->getId());
|
|
||||||
}
|
|
||||||
|
|
||||||
$contentsObj->findOne();
|
|
||||||
|
|
||||||
$this->assertEquals($product->getVisible(), $row["visible"]);
|
$this->assertEquals($product->getVisible(), $row["visible"]);
|
||||||
$this->assertEquals($product->getTitle(), $row["product_title"]);
|
$this->assertEquals($product->getTitle(), $row["product_title"]);
|
||||||
|
|
||||||
$this->assertEquals($contentI18n->getMetaDescription(), $row["meta_description"]);
|
$this->assertEquals($product->getMetaTitle(), $row["page_title"]);
|
||||||
$this->assertEquals($contentI18n->getMetaKeywords(), $row["meta_keywords"]);
|
$this->assertEquals($product->getMetaDescription(), $row["meta_description"]);
|
||||||
|
$this->assertEquals($product->getMetaKeywords(), $row["meta_keywords"]);
|
||||||
|
$this->assertEquals($product->getRewrittenUrl("en_US"), $row["url"]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user