diff --git a/core/lib/Thelia/Action/BaseAction.php b/core/lib/Thelia/Action/BaseAction.php index e1edab07d..1f04e12f6 100755 --- a/core/lib/Thelia/Action/BaseAction.php +++ b/core/lib/Thelia/Action/BaseAction.php @@ -23,9 +23,14 @@ namespace Thelia\Action; use Symfony\Component\DependencyInjection\ContainerInterface; -use Thelia\Model\AdminLog; use Propel\Runtime\ActiveQuery\ModelCriteria; + use Thelia\Core\Event\UpdatePositionEvent; +use Thelia\Core\Event\UpdateSeoEvent; + +use Thelia\Exception\UrlRewritingException; +use Thelia\Form\Exception\FormValidationException; +use \Thelia\Model\Tools\UrlRewritingTrait; class BaseAction { @@ -73,4 +78,41 @@ class BaseAction return $object->movePositionDown(); } } + + /** + * Changes SEO Fields for an object. + * + * @param ModelCriteria $query + * @param UpdateSeoEvent $event + * + * @return mixed + */ + protected function genericUpdateSeo(ModelCriteria $query, UpdateSeoEvent $event) + { + if (null !== $object = $query->findPk($event->getObjectId())) { + + $object + ->setDispatcher($this->getDispatcher()) + + ->setLocale($event->getLocale()) + ->setMetaTitle($event->getMetaTitle()) + ->setMetaDescription($event->getMetaDescription()) + ->setMetaKeywords($event->getMetaKeywords()) + + ->save() + ; + + // Update the rewritten URL, if required + try { + $object->setRewrittenUrl($event->getLocale(), $event->getUrl()); + } catch(UrlRewritingException $e) { + throw new FormValidationException($e->getMessage(), $e->getCode()); + } + + $event->setObject($object); + + return $object; + } + } + } diff --git a/core/lib/Thelia/Action/Category.php b/core/lib/Thelia/Action/Category.php index ac68baa6a..9d895c7de 100755 --- a/core/lib/Thelia/Action/Category.php +++ b/core/lib/Thelia/Action/Category.php @@ -25,8 +25,7 @@ namespace Thelia\Action; use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Thelia\Exception\UrlRewritingException; -use Thelia\Form\Exception\FormValidationException; +use Thelia\Core\Event\UpdateSeoEvent; use Thelia\Model\CategoryQuery; use Thelia\Model\Category as CategoryModel; @@ -74,8 +73,6 @@ class Category extends BaseAction implements EventSubscriberInterface */ public function update(CategoryUpdateEvent $event) { - $search = CategoryQuery::create(); - if (null !== $category = CategoryQuery::create()->findPk($event->getCategoryId())) { $category @@ -92,17 +89,22 @@ class Category extends BaseAction implements EventSubscriberInterface ->save(); - // Update the rewritten URL, if required - try { - $category->setRewrittenUrl($event->getLocale(), $event->getUrl()); - } catch(UrlRewritingException $e) { - throw new FormValidationException($e->getMessage(), $e->getCode()); - } - $event->setCategory($category); } } + /** + * Change a Category SEO + * + * @param \Thelia\Core\Event\UpdateSeoEvent $event + * + * @return mixed + */ + public function updateSeo(UpdateSeoEvent $event) + { + return $this->genericUpdateSeo(CategoryQuery::create(), $event); + } + /** * Delete a category entry * @@ -190,6 +192,7 @@ class Category extends BaseAction implements EventSubscriberInterface TheliaEvents::CATEGORY_TOGGLE_VISIBILITY => array("toggleVisibility", 128), TheliaEvents::CATEGORY_UPDATE_POSITION => array("updatePosition", 128), + TheliaEvents::CATEGORY_UPDATE_SEO => array("updateSeo", 128), TheliaEvents::CATEGORY_ADD_CONTENT => array("addContent", 128), TheliaEvents::CATEGORY_REMOVE_CONTENT => array("removeContent", 128), diff --git a/core/lib/Thelia/Action/Content.php b/core/lib/Thelia/Action/Content.php index d3dbdbba8..986698220 100644 --- a/core/lib/Thelia/Action/Content.php +++ b/core/lib/Thelia/Action/Content.php @@ -32,8 +32,7 @@ use Thelia\Core\Event\Content\ContentToggleVisibilityEvent; use Thelia\Core\Event\Content\ContentUpdateEvent; use Thelia\Core\Event\TheliaEvents; use Thelia\Core\Event\UpdatePositionEvent; -use Thelia\Exception\UrlRewritingException; -use Thelia\Form\Exception\FormValidationException; +use Thelia\Core\Event\UpdateSeoEvent; use Thelia\Model\ContentFolder; use Thelia\Model\ContentFolderQuery; use Thelia\Model\ContentQuery; @@ -81,19 +80,24 @@ class Content extends BaseAction implements EventSubscriberInterface ->save() ; - // Update the rewritten URL, if required - try { - $content->setRewrittenUrl($event->getLocale(), $event->getUrl()); - } catch(UrlRewritingException $e) { - throw new FormValidationException($e->getMessage(), $e->getCode()); - } - $content->updateDefaultFolder($event->getDefaultFolder()); $event->setContent($content); } } + /** + * Change Content SEO + * + * @param \Thelia\Core\Event\UpdateSeoEvent $event + * + * @return mixed + */ + public function updateSeo(UpdateSeoEvent $event) + { + return $this->genericUpdateSeo(ContentQuery::create(), $event); + } + public function updatePosition(UpdatePositionEvent $event) { if (null !== $content = ContentQuery::create()->findPk($event->getObjectId())) { @@ -203,6 +207,7 @@ class Content extends BaseAction implements EventSubscriberInterface TheliaEvents::CONTENT_TOGGLE_VISIBILITY => array('toggleVisibility', 128), TheliaEvents::CONTENT_UPDATE_POSITION => array('updatePosition', 128), + TheliaEvents::CONTENT_UPDATE_SEO => array('updateSeo', 128), TheliaEvents::CONTENT_ADD_FOLDER => array('addFolder', 128), TheliaEvents::CONTENT_REMOVE_FOLDER => array('removeFolder', 128), diff --git a/core/lib/Thelia/Action/Folder.php b/core/lib/Thelia/Action/Folder.php index df849898c..2eece4095 100644 --- a/core/lib/Thelia/Action/Folder.php +++ b/core/lib/Thelia/Action/Folder.php @@ -29,8 +29,7 @@ use Thelia\Core\Event\Folder\FolderToggleVisibilityEvent; use Thelia\Core\Event\Folder\FolderUpdateEvent; use Thelia\Core\Event\TheliaEvents; use Thelia\Core\Event\UpdatePositionEvent; -use Thelia\Exception\UrlRewritingException; -use Thelia\Form\Exception\FormValidationException; +use Thelia\Core\Event\UpdateSeoEvent; use Thelia\Model\FolderQuery; use Thelia\Model\Folder as FolderModel; @@ -58,17 +57,22 @@ class Folder extends BaseAction implements EventSubscriberInterface ->save(); ; - // Update the rewritten URL, if required - try { - $folder->setRewrittenUrl($event->getLocale(), $event->getUrl()); - } catch(UrlRewritingException $e) { - throw new FormValidationException($e->getMessage(), $e->getCode()); - } - $event->setFolder($folder); } } + /** + * Change Folder SEO + * + * @param \Thelia\Core\Event\UpdateSeoEvent $event + * + * @return mixed + */ + public function updateSeo(UpdateSeoEvent $event) + { + return $this->genericUpdateSeo(FolderQuery::create(), $event); + } + public function delete(FolderDeleteEvent $event) { if (null !== $folder = FolderQuery::create()->findPk($event->getFolderId())) { @@ -158,6 +162,7 @@ class Folder extends BaseAction implements EventSubscriberInterface TheliaEvents::FOLDER_TOGGLE_VISIBILITY => array("toggleVisibility", 128), TheliaEvents::FOLDER_UPDATE_POSITION => array("updatePosition", 128), + TheliaEvents::FOLDER_UPDATE_SEO => array('updateSeo', 128) ); } } diff --git a/core/lib/Thelia/Action/Product.php b/core/lib/Thelia/Action/Product.php index ff32921b6..6d477855b 100644 --- a/core/lib/Thelia/Action/Product.php +++ b/core/lib/Thelia/Action/Product.php @@ -25,38 +25,37 @@ namespace Thelia\Action; use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Thelia\Exception\UrlRewritingException; -use Thelia\Form\Exception\FormValidationException; +use Thelia\Model\Map\ProductTableMap; use Thelia\Model\ProductQuery; use Thelia\Model\Product as ProductModel; - -use Thelia\Core\Event\TheliaEvents; - -use Thelia\Core\Event\Product\ProductUpdateEvent; -use Thelia\Core\Event\Product\ProductCreateEvent; -use Thelia\Core\Event\Product\ProductDeleteEvent; -use Thelia\Core\Event\UpdatePositionEvent; -use Thelia\Core\Event\Product\ProductToggleVisibilityEvent; -use Thelia\Core\Event\Product\ProductAddContentEvent; -use Thelia\Core\Event\Product\ProductDeleteContentEvent; use Thelia\Model\ProductAssociatedContent; use Thelia\Model\ProductAssociatedContentQuery; use Thelia\Model\ProductCategory; use Thelia\Model\TaxRuleQuery; use Thelia\Model\AccessoryQuery; use Thelia\Model\Accessory; -use Thelia\Core\Event\FeatureProduct\FeatureProductUpdateEvent; use Thelia\Model\FeatureProduct; -use Thelia\Core\Event\FeatureProduct\FeatureProductDeleteEvent; use Thelia\Model\FeatureProductQuery; use Thelia\Model\ProductCategoryQuery; -use Thelia\Core\Event\Product\ProductSetTemplateEvent; use Thelia\Model\ProductSaleElementsQuery; + +use Thelia\Core\Event\TheliaEvents; +use Thelia\Core\Event\Product\ProductUpdateEvent; +use Thelia\Core\Event\Product\ProductCreateEvent; +use Thelia\Core\Event\Product\ProductDeleteEvent; +use Thelia\Core\Event\Product\ProductToggleVisibilityEvent; +use Thelia\Core\Event\Product\ProductAddContentEvent; +use Thelia\Core\Event\Product\ProductDeleteContentEvent; +use Thelia\Core\Event\UpdatePositionEvent; +use Thelia\Core\Event\UpdateSeoEvent; +use Thelia\Core\Event\FeatureProduct\FeatureProductUpdateEvent; +use Thelia\Core\Event\FeatureProduct\FeatureProductDeleteEvent; +use Thelia\Core\Event\Product\ProductSetTemplateEvent; use Thelia\Core\Event\Product\ProductDeleteCategoryEvent; use Thelia\Core\Event\Product\ProductAddCategoryEvent; use Thelia\Core\Event\Product\ProductAddAccessoryEvent; use Thelia\Core\Event\Product\ProductDeleteAccessoryEvent; -use Thelia\Model\Map\ProductTableMap; + use Propel\Runtime\Propel; class Product extends BaseAction implements EventSubscriberInterface @@ -115,13 +114,6 @@ class Product extends BaseAction implements EventSubscriberInterface ->save() ; - // Update the rewritten URL, if required - try { - $product->setRewrittenUrl($event->getLocale(), $event->getUrl()); - } catch(UrlRewritingException $e) { - throw new FormValidationException($e->getMessage(), $e->getCode()); - } - // Update default category (ifd required) $product->updateDefaultCategory($event->getDefaultCategory()); @@ -129,6 +121,17 @@ class Product extends BaseAction implements EventSubscriberInterface } } + /** + * Change a product SEO + * + * @param \Thelia\Core\Event\UpdateSeoEvent $event + */ + public function updateSeo(UpdateSeoEvent $event) + { + return $this->genericUpdateSeo(ProductQuery::create(), $event); + } + + /** * Delete a product entry * @@ -389,12 +392,13 @@ class Product extends BaseAction implements EventSubscriberInterface public static function getSubscribedEvents() { return array( - TheliaEvents::PRODUCT_CREATE => array("create", 128), - TheliaEvents::PRODUCT_UPDATE => array("update", 128), - TheliaEvents::PRODUCT_DELETE => array("delete", 128), - TheliaEvents::PRODUCT_TOGGLE_VISIBILITY => array("toggleVisibility", 128), + TheliaEvents::PRODUCT_CREATE => array("create", 128), + TheliaEvents::PRODUCT_UPDATE => array("update", 128), + TheliaEvents::PRODUCT_DELETE => array("delete", 128), + TheliaEvents::PRODUCT_TOGGLE_VISIBILITY => array("toggleVisibility", 128), - TheliaEvents::PRODUCT_UPDATE_POSITION => array("updatePosition", 128), + TheliaEvents::PRODUCT_UPDATE_POSITION => array("updatePosition", 128), + TheliaEvents::PRODUCT_UPDATE_SEO => array("updateSeo", 128), TheliaEvents::PRODUCT_ADD_CONTENT => array("addContent", 128), TheliaEvents::PRODUCT_REMOVE_CONTENT => array("removeContent", 128), @@ -404,13 +408,13 @@ class Product extends BaseAction implements EventSubscriberInterface TheliaEvents::PRODUCT_REMOVE_ACCESSORY => array("removeAccessory", 128), TheliaEvents::PRODUCT_UPDATE_ACCESSORY_POSITION => array("updateAccessoryPosition", 128), - TheliaEvents::PRODUCT_ADD_CATEGORY => array("addCategory", 128), - TheliaEvents::PRODUCT_REMOVE_CATEGORY => array("removeCategory", 128), + TheliaEvents::PRODUCT_ADD_CATEGORY => array("addCategory", 128), + TheliaEvents::PRODUCT_REMOVE_CATEGORY => array("removeCategory", 128), - TheliaEvents::PRODUCT_SET_TEMPLATE => array("setProductTemplate", 128), + TheliaEvents::PRODUCT_SET_TEMPLATE => array("setProductTemplate", 128), - TheliaEvents::PRODUCT_FEATURE_UPDATE_VALUE => array("updateFeatureProductValue", 128), - TheliaEvents::PRODUCT_FEATURE_DELETE_VALUE => array("deleteFeatureProductValue", 128), + TheliaEvents::PRODUCT_FEATURE_UPDATE_VALUE => array("updateFeatureProductValue", 128), + TheliaEvents::PRODUCT_FEATURE_DELETE_VALUE => array("deleteFeatureProductValue", 128), ); } } diff --git a/core/lib/Thelia/Config/Resources/form.xml b/core/lib/Thelia/Config/Resources/form.xml index cf9ccd489..ec281266e 100644 --- a/core/lib/Thelia/Config/Resources/form.xml +++ b/core/lib/Thelia/Config/Resources/form.xml @@ -17,6 +17,7 @@
+ @@ -39,7 +40,6 @@ - diff --git a/core/lib/Thelia/Config/Resources/routing/admin.xml b/core/lib/Thelia/Config/Resources/routing/admin.xml index 88866682c..f5adc68aa 100755 --- a/core/lib/Thelia/Config/Resources/routing/admin.xml +++ b/core/lib/Thelia/Config/Resources/routing/admin.xml @@ -221,6 +221,10 @@
+ * $query->filterByMetaTitle('fooValue'); // WHERE meta_title = 'fooValue'
+ * $query->filterByMetaTitle('%fooValue%'); // WHERE meta_title LIKE '%fooValue%'
+ *
+ *
+ * @param string $metaTitle The value to use as filter.
+ * Accepts wildcards (* and % trigger a LIKE)
+ * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
+ *
+ * @return ChildCategoryI18nQuery The current query, for fluid interface
+ */
+ public function filterByMetaTitle($metaTitle = null, $comparison = null)
+ {
+ if (null === $comparison) {
+ if (is_array($metaTitle)) {
+ $comparison = Criteria::IN;
+ } elseif (preg_match('/[\%\*]/', $metaTitle)) {
+ $metaTitle = str_replace('*', '%', $metaTitle);
+ $comparison = Criteria::LIKE;
+ }
+ }
+
+ return $this->addUsingAlias(CategoryI18nTableMap::META_TITLE, $metaTitle, $comparison);
+ }
+
+ /**
+ * Filter the query on the meta_description column
+ *
+ * Example usage:
+ *
+ * $query->filterByMetaDescription('fooValue'); // WHERE meta_description = 'fooValue'
+ * $query->filterByMetaDescription('%fooValue%'); // WHERE meta_description LIKE '%fooValue%'
+ *
+ *
+ * @param string $metaDescription The value to use as filter.
+ * Accepts wildcards (* and % trigger a LIKE)
+ * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
+ *
+ * @return ChildCategoryI18nQuery The current query, for fluid interface
+ */
+ public function filterByMetaDescription($metaDescription = null, $comparison = null)
+ {
+ if (null === $comparison) {
+ if (is_array($metaDescription)) {
+ $comparison = Criteria::IN;
+ } elseif (preg_match('/[\%\*]/', $metaDescription)) {
+ $metaDescription = str_replace('*', '%', $metaDescription);
+ $comparison = Criteria::LIKE;
+ }
+ }
+
+ return $this->addUsingAlias(CategoryI18nTableMap::META_DESCRIPTION, $metaDescription, $comparison);
+ }
+
+ /**
+ * Filter the query on the meta_keywords column
+ *
+ * Example usage:
+ *
+ * $query->filterByMetaKeywords('fooValue'); // WHERE meta_keywords = 'fooValue'
+ * $query->filterByMetaKeywords('%fooValue%'); // WHERE meta_keywords LIKE '%fooValue%'
+ *
+ *
+ * @param string $metaKeywords The value to use as filter.
+ * Accepts wildcards (* and % trigger a LIKE)
+ * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
+ *
+ * @return ChildCategoryI18nQuery The current query, for fluid interface
+ */
+ public function filterByMetaKeywords($metaKeywords = null, $comparison = null)
+ {
+ if (null === $comparison) {
+ if (is_array($metaKeywords)) {
+ $comparison = Criteria::IN;
+ } elseif (preg_match('/[\%\*]/', $metaKeywords)) {
+ $metaKeywords = str_replace('*', '%', $metaKeywords);
+ $comparison = Criteria::LIKE;
+ }
+ }
+
+ return $this->addUsingAlias(CategoryI18nTableMap::META_KEYWORDS, $metaKeywords, $comparison);
+ }
+
/**
* Filter the query by a related \Thelia\Model\Category object
*
diff --git a/core/lib/Thelia/Model/Base/Content.php b/core/lib/Thelia/Model/Base/Content.php
index bb7299f17..6618ae9c7 100644
--- a/core/lib/Thelia/Model/Base/Content.php
+++ b/core/lib/Thelia/Model/Base/Content.php
@@ -3904,6 +3904,78 @@ abstract class Content implements ActiveRecordInterface
return $this;
}
+
+ /**
+ * Get the [meta_title] column value.
+ *
+ * @return string
+ */
+ public function getMetaTitle()
+ {
+ return $this->getCurrentTranslation()->getMetaTitle();
+ }
+
+
+ /**
+ * Set the value of [meta_title] column.
+ *
+ * @param string $v new value
+ * @return \Thelia\Model\ContentI18n The current object (for fluent API support)
+ */
+ public function setMetaTitle($v)
+ { $this->getCurrentTranslation()->setMetaTitle($v);
+
+ return $this;
+ }
+
+
+ /**
+ * Get the [meta_description] column value.
+ *
+ * @return string
+ */
+ public function getMetaDescription()
+ {
+ return $this->getCurrentTranslation()->getMetaDescription();
+ }
+
+
+ /**
+ * Set the value of [meta_description] column.
+ *
+ * @param string $v new value
+ * @return \Thelia\Model\ContentI18n The current object (for fluent API support)
+ */
+ public function setMetaDescription($v)
+ { $this->getCurrentTranslation()->setMetaDescription($v);
+
+ return $this;
+ }
+
+
+ /**
+ * Get the [meta_keywords] column value.
+ *
+ * @return string
+ */
+ public function getMetaKeywords()
+ {
+ return $this->getCurrentTranslation()->getMetaKeywords();
+ }
+
+
+ /**
+ * Set the value of [meta_keywords] column.
+ *
+ * @param string $v new value
+ * @return \Thelia\Model\ContentI18n The current object (for fluent API support)
+ */
+ public function setMetaKeywords($v)
+ { $this->getCurrentTranslation()->setMetaKeywords($v);
+
+ return $this;
+ }
+
// versionable behavior
/**
diff --git a/core/lib/Thelia/Model/Base/ContentI18n.php b/core/lib/Thelia/Model/Base/ContentI18n.php
index e5de214c8..5b5dd2459 100644
--- a/core/lib/Thelia/Model/Base/ContentI18n.php
+++ b/core/lib/Thelia/Model/Base/ContentI18n.php
@@ -90,6 +90,24 @@ abstract class ContentI18n implements ActiveRecordInterface
*/
protected $postscriptum;
+ /**
+ * The value for the meta_title field.
+ * @var string
+ */
+ protected $meta_title;
+
+ /**
+ * The value for the meta_description field.
+ * @var string
+ */
+ protected $meta_description;
+
+ /**
+ * The value for the meta_keywords field.
+ * @var string
+ */
+ protected $meta_keywords;
+
/**
* @var Content
*/
@@ -440,6 +458,39 @@ abstract class ContentI18n implements ActiveRecordInterface
return $this->postscriptum;
}
+ /**
+ * Get the [meta_title] column value.
+ *
+ * @return string
+ */
+ public function getMetaTitle()
+ {
+
+ return $this->meta_title;
+ }
+
+ /**
+ * Get the [meta_description] column value.
+ *
+ * @return string
+ */
+ public function getMetaDescription()
+ {
+
+ return $this->meta_description;
+ }
+
+ /**
+ * Get the [meta_keywords] column value.
+ *
+ * @return string
+ */
+ public function getMetaKeywords()
+ {
+
+ return $this->meta_keywords;
+ }
+
/**
* Set the value of [id] column.
*
@@ -570,6 +621,69 @@ abstract class ContentI18n implements ActiveRecordInterface
return $this;
} // setPostscriptum()
+ /**
+ * Set the value of [meta_title] column.
+ *
+ * @param string $v new value
+ * @return \Thelia\Model\ContentI18n The current object (for fluent API support)
+ */
+ public function setMetaTitle($v)
+ {
+ if ($v !== null) {
+ $v = (string) $v;
+ }
+
+ if ($this->meta_title !== $v) {
+ $this->meta_title = $v;
+ $this->modifiedColumns[] = ContentI18nTableMap::META_TITLE;
+ }
+
+
+ return $this;
+ } // setMetaTitle()
+
+ /**
+ * Set the value of [meta_description] column.
+ *
+ * @param string $v new value
+ * @return \Thelia\Model\ContentI18n The current object (for fluent API support)
+ */
+ public function setMetaDescription($v)
+ {
+ if ($v !== null) {
+ $v = (string) $v;
+ }
+
+ if ($this->meta_description !== $v) {
+ $this->meta_description = $v;
+ $this->modifiedColumns[] = ContentI18nTableMap::META_DESCRIPTION;
+ }
+
+
+ return $this;
+ } // setMetaDescription()
+
+ /**
+ * Set the value of [meta_keywords] column.
+ *
+ * @param string $v new value
+ * @return \Thelia\Model\ContentI18n The current object (for fluent API support)
+ */
+ public function setMetaKeywords($v)
+ {
+ if ($v !== null) {
+ $v = (string) $v;
+ }
+
+ if ($this->meta_keywords !== $v) {
+ $this->meta_keywords = $v;
+ $this->modifiedColumns[] = ContentI18nTableMap::META_KEYWORDS;
+ }
+
+
+ return $this;
+ } // setMetaKeywords()
+
/**
* Indicates whether the columns in this object are only set to default values.
*
@@ -628,6 +742,15 @@ abstract class ContentI18n implements ActiveRecordInterface
$col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : ContentI18nTableMap::translateFieldName('Postscriptum', TableMap::TYPE_PHPNAME, $indexType)];
$this->postscriptum = (null !== $col) ? (string) $col : null;
+
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 6 + $startcol : ContentI18nTableMap::translateFieldName('MetaTitle', TableMap::TYPE_PHPNAME, $indexType)];
+ $this->meta_title = (null !== $col) ? (string) $col : null;
+
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 7 + $startcol : ContentI18nTableMap::translateFieldName('MetaDescription', TableMap::TYPE_PHPNAME, $indexType)];
+ $this->meta_description = (null !== $col) ? (string) $col : null;
+
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 8 + $startcol : ContentI18nTableMap::translateFieldName('MetaKeywords', TableMap::TYPE_PHPNAME, $indexType)];
+ $this->meta_keywords = (null !== $col) ? (string) $col : null;
$this->resetModified();
$this->setNew(false);
@@ -636,7 +759,7 @@ abstract class ContentI18n implements ActiveRecordInterface
$this->ensureConsistency();
}
- return $startcol + 6; // 6 = ContentI18nTableMap::NUM_HYDRATE_COLUMNS.
+ return $startcol + 9; // 9 = ContentI18nTableMap::NUM_HYDRATE_COLUMNS.
} catch (Exception $e) {
throw new PropelException("Error populating \Thelia\Model\ContentI18n object", 0, $e);
@@ -875,6 +998,15 @@ abstract class ContentI18n implements ActiveRecordInterface
if ($this->isColumnModified(ContentI18nTableMap::POSTSCRIPTUM)) {
$modifiedColumns[':p' . $index++] = 'POSTSCRIPTUM';
}
+ if ($this->isColumnModified(ContentI18nTableMap::META_TITLE)) {
+ $modifiedColumns[':p' . $index++] = 'META_TITLE';
+ }
+ if ($this->isColumnModified(ContentI18nTableMap::META_DESCRIPTION)) {
+ $modifiedColumns[':p' . $index++] = 'META_DESCRIPTION';
+ }
+ if ($this->isColumnModified(ContentI18nTableMap::META_KEYWORDS)) {
+ $modifiedColumns[':p' . $index++] = 'META_KEYWORDS';
+ }
$sql = sprintf(
'INSERT INTO content_i18n (%s) VALUES (%s)',
@@ -904,6 +1036,15 @@ abstract class ContentI18n implements ActiveRecordInterface
case 'POSTSCRIPTUM':
$stmt->bindValue($identifier, $this->postscriptum, PDO::PARAM_STR);
break;
+ case 'META_TITLE':
+ $stmt->bindValue($identifier, $this->meta_title, PDO::PARAM_STR);
+ break;
+ case 'META_DESCRIPTION':
+ $stmt->bindValue($identifier, $this->meta_description, PDO::PARAM_STR);
+ break;
+ case 'META_KEYWORDS':
+ $stmt->bindValue($identifier, $this->meta_keywords, PDO::PARAM_STR);
+ break;
}
}
$stmt->execute();
@@ -977,6 +1118,15 @@ abstract class ContentI18n implements ActiveRecordInterface
case 5:
return $this->getPostscriptum();
break;
+ case 6:
+ return $this->getMetaTitle();
+ break;
+ case 7:
+ return $this->getMetaDescription();
+ break;
+ case 8:
+ return $this->getMetaKeywords();
+ break;
default:
return null;
break;
@@ -1012,6 +1162,9 @@ abstract class ContentI18n implements ActiveRecordInterface
$keys[3] => $this->getDescription(),
$keys[4] => $this->getChapo(),
$keys[5] => $this->getPostscriptum(),
+ $keys[6] => $this->getMetaTitle(),
+ $keys[7] => $this->getMetaDescription(),
+ $keys[8] => $this->getMetaKeywords(),
);
$virtualColumns = $this->virtualColumns;
foreach ($virtualColumns as $key => $virtualColumn) {
@@ -1074,6 +1227,15 @@ abstract class ContentI18n implements ActiveRecordInterface
case 5:
$this->setPostscriptum($value);
break;
+ case 6:
+ $this->setMetaTitle($value);
+ break;
+ case 7:
+ $this->setMetaDescription($value);
+ break;
+ case 8:
+ $this->setMetaKeywords($value);
+ break;
} // switch()
}
@@ -1104,6 +1266,9 @@ abstract class ContentI18n implements ActiveRecordInterface
if (array_key_exists($keys[3], $arr)) $this->setDescription($arr[$keys[3]]);
if (array_key_exists($keys[4], $arr)) $this->setChapo($arr[$keys[4]]);
if (array_key_exists($keys[5], $arr)) $this->setPostscriptum($arr[$keys[5]]);
+ if (array_key_exists($keys[6], $arr)) $this->setMetaTitle($arr[$keys[6]]);
+ if (array_key_exists($keys[7], $arr)) $this->setMetaDescription($arr[$keys[7]]);
+ if (array_key_exists($keys[8], $arr)) $this->setMetaKeywords($arr[$keys[8]]);
}
/**
@@ -1121,6 +1286,9 @@ abstract class ContentI18n implements ActiveRecordInterface
if ($this->isColumnModified(ContentI18nTableMap::DESCRIPTION)) $criteria->add(ContentI18nTableMap::DESCRIPTION, $this->description);
if ($this->isColumnModified(ContentI18nTableMap::CHAPO)) $criteria->add(ContentI18nTableMap::CHAPO, $this->chapo);
if ($this->isColumnModified(ContentI18nTableMap::POSTSCRIPTUM)) $criteria->add(ContentI18nTableMap::POSTSCRIPTUM, $this->postscriptum);
+ if ($this->isColumnModified(ContentI18nTableMap::META_TITLE)) $criteria->add(ContentI18nTableMap::META_TITLE, $this->meta_title);
+ if ($this->isColumnModified(ContentI18nTableMap::META_DESCRIPTION)) $criteria->add(ContentI18nTableMap::META_DESCRIPTION, $this->meta_description);
+ if ($this->isColumnModified(ContentI18nTableMap::META_KEYWORDS)) $criteria->add(ContentI18nTableMap::META_KEYWORDS, $this->meta_keywords);
return $criteria;
}
@@ -1197,6 +1365,9 @@ abstract class ContentI18n implements ActiveRecordInterface
$copyObj->setDescription($this->getDescription());
$copyObj->setChapo($this->getChapo());
$copyObj->setPostscriptum($this->getPostscriptum());
+ $copyObj->setMetaTitle($this->getMetaTitle());
+ $copyObj->setMetaDescription($this->getMetaDescription());
+ $copyObj->setMetaKeywords($this->getMetaKeywords());
if ($makeNew) {
$copyObj->setNew(true);
}
@@ -1286,6 +1457,9 @@ abstract class ContentI18n implements ActiveRecordInterface
$this->description = null;
$this->chapo = null;
$this->postscriptum = null;
+ $this->meta_title = null;
+ $this->meta_description = null;
+ $this->meta_keywords = null;
$this->alreadyInSave = false;
$this->clearAllReferences();
$this->applyDefaultValues();
diff --git a/core/lib/Thelia/Model/Base/ContentI18nQuery.php b/core/lib/Thelia/Model/Base/ContentI18nQuery.php
index cfd638318..ed844f4c2 100644
--- a/core/lib/Thelia/Model/Base/ContentI18nQuery.php
+++ b/core/lib/Thelia/Model/Base/ContentI18nQuery.php
@@ -27,6 +27,9 @@ use Thelia\Model\Map\ContentI18nTableMap;
* @method ChildContentI18nQuery orderByDescription($order = Criteria::ASC) Order by the description column
* @method ChildContentI18nQuery orderByChapo($order = Criteria::ASC) Order by the chapo column
* @method ChildContentI18nQuery orderByPostscriptum($order = Criteria::ASC) Order by the postscriptum column
+ * @method ChildContentI18nQuery orderByMetaTitle($order = Criteria::ASC) Order by the meta_title column
+ * @method ChildContentI18nQuery orderByMetaDescription($order = Criteria::ASC) Order by the meta_description column
+ * @method ChildContentI18nQuery orderByMetaKeywords($order = Criteria::ASC) Order by the meta_keywords column
*
* @method ChildContentI18nQuery groupById() Group by the id column
* @method ChildContentI18nQuery groupByLocale() Group by the locale column
@@ -34,6 +37,9 @@ use Thelia\Model\Map\ContentI18nTableMap;
* @method ChildContentI18nQuery groupByDescription() Group by the description column
* @method ChildContentI18nQuery groupByChapo() Group by the chapo column
* @method ChildContentI18nQuery groupByPostscriptum() Group by the postscriptum column
+ * @method ChildContentI18nQuery groupByMetaTitle() Group by the meta_title column
+ * @method ChildContentI18nQuery groupByMetaDescription() Group by the meta_description column
+ * @method ChildContentI18nQuery groupByMetaKeywords() Group by the meta_keywords column
*
* @method ChildContentI18nQuery leftJoin($relation) Adds a LEFT JOIN clause to the query
* @method ChildContentI18nQuery rightJoin($relation) Adds a RIGHT JOIN clause to the query
@@ -52,6 +58,9 @@ use Thelia\Model\Map\ContentI18nTableMap;
* @method ChildContentI18n findOneByDescription(string $description) Return the first ChildContentI18n filtered by the description column
* @method ChildContentI18n findOneByChapo(string $chapo) Return the first ChildContentI18n filtered by the chapo column
* @method ChildContentI18n findOneByPostscriptum(string $postscriptum) Return the first ChildContentI18n filtered by the postscriptum column
+ * @method ChildContentI18n findOneByMetaTitle(string $meta_title) Return the first ChildContentI18n filtered by the meta_title column
+ * @method ChildContentI18n findOneByMetaDescription(string $meta_description) Return the first ChildContentI18n filtered by the meta_description column
+ * @method ChildContentI18n findOneByMetaKeywords(string $meta_keywords) Return the first ChildContentI18n filtered by the meta_keywords column
*
* @method array findById(int $id) Return ChildContentI18n objects filtered by the id column
* @method array findByLocale(string $locale) Return ChildContentI18n objects filtered by the locale column
@@ -59,6 +68,9 @@ use Thelia\Model\Map\ContentI18nTableMap;
* @method array findByDescription(string $description) Return ChildContentI18n objects filtered by the description column
* @method array findByChapo(string $chapo) Return ChildContentI18n objects filtered by the chapo column
* @method array findByPostscriptum(string $postscriptum) Return ChildContentI18n objects filtered by the postscriptum column
+ * @method array findByMetaTitle(string $meta_title) Return ChildContentI18n objects filtered by the meta_title column
+ * @method array findByMetaDescription(string $meta_description) Return ChildContentI18n objects filtered by the meta_description column
+ * @method array findByMetaKeywords(string $meta_keywords) Return ChildContentI18n objects filtered by the meta_keywords column
*
*/
abstract class ContentI18nQuery extends ModelCriteria
@@ -147,7 +159,7 @@ abstract class ContentI18nQuery extends ModelCriteria
*/
protected function findPkSimple($key, $con)
{
- $sql = 'SELECT ID, LOCALE, TITLE, DESCRIPTION, CHAPO, POSTSCRIPTUM FROM content_i18n WHERE ID = :p0 AND LOCALE = :p1';
+ $sql = 'SELECT ID, LOCALE, TITLE, DESCRIPTION, CHAPO, POSTSCRIPTUM, META_TITLE, META_DESCRIPTION, META_KEYWORDS FROM content_i18n WHERE ID = :p0 AND LOCALE = :p1';
try {
$stmt = $con->prepare($sql);
$stmt->bindValue(':p0', $key[0], PDO::PARAM_INT);
@@ -436,6 +448,93 @@ abstract class ContentI18nQuery extends ModelCriteria
return $this->addUsingAlias(ContentI18nTableMap::POSTSCRIPTUM, $postscriptum, $comparison);
}
+ /**
+ * Filter the query on the meta_title column
+ *
+ * Example usage:
+ *
+ * $query->filterByMetaTitle('fooValue'); // WHERE meta_title = 'fooValue'
+ * $query->filterByMetaTitle('%fooValue%'); // WHERE meta_title LIKE '%fooValue%'
+ *
+ *
+ * @param string $metaTitle The value to use as filter.
+ * Accepts wildcards (* and % trigger a LIKE)
+ * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
+ *
+ * @return ChildContentI18nQuery The current query, for fluid interface
+ */
+ public function filterByMetaTitle($metaTitle = null, $comparison = null)
+ {
+ if (null === $comparison) {
+ if (is_array($metaTitle)) {
+ $comparison = Criteria::IN;
+ } elseif (preg_match('/[\%\*]/', $metaTitle)) {
+ $metaTitle = str_replace('*', '%', $metaTitle);
+ $comparison = Criteria::LIKE;
+ }
+ }
+
+ return $this->addUsingAlias(ContentI18nTableMap::META_TITLE, $metaTitle, $comparison);
+ }
+
+ /**
+ * Filter the query on the meta_description column
+ *
+ * Example usage:
+ *
+ * $query->filterByMetaDescription('fooValue'); // WHERE meta_description = 'fooValue'
+ * $query->filterByMetaDescription('%fooValue%'); // WHERE meta_description LIKE '%fooValue%'
+ *
+ *
+ * @param string $metaDescription The value to use as filter.
+ * Accepts wildcards (* and % trigger a LIKE)
+ * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
+ *
+ * @return ChildContentI18nQuery The current query, for fluid interface
+ */
+ public function filterByMetaDescription($metaDescription = null, $comparison = null)
+ {
+ if (null === $comparison) {
+ if (is_array($metaDescription)) {
+ $comparison = Criteria::IN;
+ } elseif (preg_match('/[\%\*]/', $metaDescription)) {
+ $metaDescription = str_replace('*', '%', $metaDescription);
+ $comparison = Criteria::LIKE;
+ }
+ }
+
+ return $this->addUsingAlias(ContentI18nTableMap::META_DESCRIPTION, $metaDescription, $comparison);
+ }
+
+ /**
+ * Filter the query on the meta_keywords column
+ *
+ * Example usage:
+ *
+ * $query->filterByMetaKeywords('fooValue'); // WHERE meta_keywords = 'fooValue'
+ * $query->filterByMetaKeywords('%fooValue%'); // WHERE meta_keywords LIKE '%fooValue%'
+ *
+ *
+ * @param string $metaKeywords The value to use as filter.
+ * Accepts wildcards (* and % trigger a LIKE)
+ * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
+ *
+ * @return ChildContentI18nQuery The current query, for fluid interface
+ */
+ public function filterByMetaKeywords($metaKeywords = null, $comparison = null)
+ {
+ if (null === $comparison) {
+ if (is_array($metaKeywords)) {
+ $comparison = Criteria::IN;
+ } elseif (preg_match('/[\%\*]/', $metaKeywords)) {
+ $metaKeywords = str_replace('*', '%', $metaKeywords);
+ $comparison = Criteria::LIKE;
+ }
+ }
+
+ return $this->addUsingAlias(ContentI18nTableMap::META_KEYWORDS, $metaKeywords, $comparison);
+ }
+
/**
* Filter the query by a related \Thelia\Model\Content object
*
diff --git a/core/lib/Thelia/Model/Base/Folder.php b/core/lib/Thelia/Model/Base/Folder.php
index e62e9b71e..20a7e8dbc 100644
--- a/core/lib/Thelia/Model/Base/Folder.php
+++ b/core/lib/Thelia/Model/Base/Folder.php
@@ -3368,6 +3368,78 @@ abstract class Folder implements ActiveRecordInterface
return $this;
}
+
+ /**
+ * Get the [meta_title] column value.
+ *
+ * @return string
+ */
+ public function getMetaTitle()
+ {
+ return $this->getCurrentTranslation()->getMetaTitle();
+ }
+
+
+ /**
+ * Set the value of [meta_title] column.
+ *
+ * @param string $v new value
+ * @return \Thelia\Model\FolderI18n The current object (for fluent API support)
+ */
+ public function setMetaTitle($v)
+ { $this->getCurrentTranslation()->setMetaTitle($v);
+
+ return $this;
+ }
+
+
+ /**
+ * Get the [meta_description] column value.
+ *
+ * @return string
+ */
+ public function getMetaDescription()
+ {
+ return $this->getCurrentTranslation()->getMetaDescription();
+ }
+
+
+ /**
+ * Set the value of [meta_description] column.
+ *
+ * @param string $v new value
+ * @return \Thelia\Model\FolderI18n The current object (for fluent API support)
+ */
+ public function setMetaDescription($v)
+ { $this->getCurrentTranslation()->setMetaDescription($v);
+
+ return $this;
+ }
+
+
+ /**
+ * Get the [meta_keywords] column value.
+ *
+ * @return string
+ */
+ public function getMetaKeywords()
+ {
+ return $this->getCurrentTranslation()->getMetaKeywords();
+ }
+
+
+ /**
+ * Set the value of [meta_keywords] column.
+ *
+ * @param string $v new value
+ * @return \Thelia\Model\FolderI18n The current object (for fluent API support)
+ */
+ public function setMetaKeywords($v)
+ { $this->getCurrentTranslation()->setMetaKeywords($v);
+
+ return $this;
+ }
+
// versionable behavior
/**
diff --git a/core/lib/Thelia/Model/Base/FolderI18n.php b/core/lib/Thelia/Model/Base/FolderI18n.php
index 8e972b307..ec57cff1d 100644
--- a/core/lib/Thelia/Model/Base/FolderI18n.php
+++ b/core/lib/Thelia/Model/Base/FolderI18n.php
@@ -90,6 +90,24 @@ abstract class FolderI18n implements ActiveRecordInterface
*/
protected $postscriptum;
+ /**
+ * The value for the meta_title field.
+ * @var string
+ */
+ protected $meta_title;
+
+ /**
+ * The value for the meta_description field.
+ * @var string
+ */
+ protected $meta_description;
+
+ /**
+ * The value for the meta_keywords field.
+ * @var string
+ */
+ protected $meta_keywords;
+
/**
* @var Folder
*/
@@ -440,6 +458,39 @@ abstract class FolderI18n implements ActiveRecordInterface
return $this->postscriptum;
}
+ /**
+ * Get the [meta_title] column value.
+ *
+ * @return string
+ */
+ public function getMetaTitle()
+ {
+
+ return $this->meta_title;
+ }
+
+ /**
+ * Get the [meta_description] column value.
+ *
+ * @return string
+ */
+ public function getMetaDescription()
+ {
+
+ return $this->meta_description;
+ }
+
+ /**
+ * Get the [meta_keywords] column value.
+ *
+ * @return string
+ */
+ public function getMetaKeywords()
+ {
+
+ return $this->meta_keywords;
+ }
+
/**
* Set the value of [id] column.
*
@@ -570,6 +621,69 @@ abstract class FolderI18n implements ActiveRecordInterface
return $this;
} // setPostscriptum()
+ /**
+ * Set the value of [meta_title] column.
+ *
+ * @param string $v new value
+ * @return \Thelia\Model\FolderI18n The current object (for fluent API support)
+ */
+ public function setMetaTitle($v)
+ {
+ if ($v !== null) {
+ $v = (string) $v;
+ }
+
+ if ($this->meta_title !== $v) {
+ $this->meta_title = $v;
+ $this->modifiedColumns[] = FolderI18nTableMap::META_TITLE;
+ }
+
+
+ return $this;
+ } // setMetaTitle()
+
+ /**
+ * Set the value of [meta_description] column.
+ *
+ * @param string $v new value
+ * @return \Thelia\Model\FolderI18n The current object (for fluent API support)
+ */
+ public function setMetaDescription($v)
+ {
+ if ($v !== null) {
+ $v = (string) $v;
+ }
+
+ if ($this->meta_description !== $v) {
+ $this->meta_description = $v;
+ $this->modifiedColumns[] = FolderI18nTableMap::META_DESCRIPTION;
+ }
+
+
+ return $this;
+ } // setMetaDescription()
+
+ /**
+ * Set the value of [meta_keywords] column.
+ *
+ * @param string $v new value
+ * @return \Thelia\Model\FolderI18n The current object (for fluent API support)
+ */
+ public function setMetaKeywords($v)
+ {
+ if ($v !== null) {
+ $v = (string) $v;
+ }
+
+ if ($this->meta_keywords !== $v) {
+ $this->meta_keywords = $v;
+ $this->modifiedColumns[] = FolderI18nTableMap::META_KEYWORDS;
+ }
+
+
+ return $this;
+ } // setMetaKeywords()
+
/**
* Indicates whether the columns in this object are only set to default values.
*
@@ -628,6 +742,15 @@ abstract class FolderI18n implements ActiveRecordInterface
$col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : FolderI18nTableMap::translateFieldName('Postscriptum', TableMap::TYPE_PHPNAME, $indexType)];
$this->postscriptum = (null !== $col) ? (string) $col : null;
+
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 6 + $startcol : FolderI18nTableMap::translateFieldName('MetaTitle', TableMap::TYPE_PHPNAME, $indexType)];
+ $this->meta_title = (null !== $col) ? (string) $col : null;
+
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 7 + $startcol : FolderI18nTableMap::translateFieldName('MetaDescription', TableMap::TYPE_PHPNAME, $indexType)];
+ $this->meta_description = (null !== $col) ? (string) $col : null;
+
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 8 + $startcol : FolderI18nTableMap::translateFieldName('MetaKeywords', TableMap::TYPE_PHPNAME, $indexType)];
+ $this->meta_keywords = (null !== $col) ? (string) $col : null;
$this->resetModified();
$this->setNew(false);
@@ -636,7 +759,7 @@ abstract class FolderI18n implements ActiveRecordInterface
$this->ensureConsistency();
}
- return $startcol + 6; // 6 = FolderI18nTableMap::NUM_HYDRATE_COLUMNS.
+ return $startcol + 9; // 9 = FolderI18nTableMap::NUM_HYDRATE_COLUMNS.
} catch (Exception $e) {
throw new PropelException("Error populating \Thelia\Model\FolderI18n object", 0, $e);
@@ -875,6 +998,15 @@ abstract class FolderI18n implements ActiveRecordInterface
if ($this->isColumnModified(FolderI18nTableMap::POSTSCRIPTUM)) {
$modifiedColumns[':p' . $index++] = 'POSTSCRIPTUM';
}
+ if ($this->isColumnModified(FolderI18nTableMap::META_TITLE)) {
+ $modifiedColumns[':p' . $index++] = 'META_TITLE';
+ }
+ if ($this->isColumnModified(FolderI18nTableMap::META_DESCRIPTION)) {
+ $modifiedColumns[':p' . $index++] = 'META_DESCRIPTION';
+ }
+ if ($this->isColumnModified(FolderI18nTableMap::META_KEYWORDS)) {
+ $modifiedColumns[':p' . $index++] = 'META_KEYWORDS';
+ }
$sql = sprintf(
'INSERT INTO folder_i18n (%s) VALUES (%s)',
@@ -904,6 +1036,15 @@ abstract class FolderI18n implements ActiveRecordInterface
case 'POSTSCRIPTUM':
$stmt->bindValue($identifier, $this->postscriptum, PDO::PARAM_STR);
break;
+ case 'META_TITLE':
+ $stmt->bindValue($identifier, $this->meta_title, PDO::PARAM_STR);
+ break;
+ case 'META_DESCRIPTION':
+ $stmt->bindValue($identifier, $this->meta_description, PDO::PARAM_STR);
+ break;
+ case 'META_KEYWORDS':
+ $stmt->bindValue($identifier, $this->meta_keywords, PDO::PARAM_STR);
+ break;
}
}
$stmt->execute();
@@ -977,6 +1118,15 @@ abstract class FolderI18n implements ActiveRecordInterface
case 5:
return $this->getPostscriptum();
break;
+ case 6:
+ return $this->getMetaTitle();
+ break;
+ case 7:
+ return $this->getMetaDescription();
+ break;
+ case 8:
+ return $this->getMetaKeywords();
+ break;
default:
return null;
break;
@@ -1012,6 +1162,9 @@ abstract class FolderI18n implements ActiveRecordInterface
$keys[3] => $this->getDescription(),
$keys[4] => $this->getChapo(),
$keys[5] => $this->getPostscriptum(),
+ $keys[6] => $this->getMetaTitle(),
+ $keys[7] => $this->getMetaDescription(),
+ $keys[8] => $this->getMetaKeywords(),
);
$virtualColumns = $this->virtualColumns;
foreach ($virtualColumns as $key => $virtualColumn) {
@@ -1074,6 +1227,15 @@ abstract class FolderI18n implements ActiveRecordInterface
case 5:
$this->setPostscriptum($value);
break;
+ case 6:
+ $this->setMetaTitle($value);
+ break;
+ case 7:
+ $this->setMetaDescription($value);
+ break;
+ case 8:
+ $this->setMetaKeywords($value);
+ break;
} // switch()
}
@@ -1104,6 +1266,9 @@ abstract class FolderI18n implements ActiveRecordInterface
if (array_key_exists($keys[3], $arr)) $this->setDescription($arr[$keys[3]]);
if (array_key_exists($keys[4], $arr)) $this->setChapo($arr[$keys[4]]);
if (array_key_exists($keys[5], $arr)) $this->setPostscriptum($arr[$keys[5]]);
+ if (array_key_exists($keys[6], $arr)) $this->setMetaTitle($arr[$keys[6]]);
+ if (array_key_exists($keys[7], $arr)) $this->setMetaDescription($arr[$keys[7]]);
+ if (array_key_exists($keys[8], $arr)) $this->setMetaKeywords($arr[$keys[8]]);
}
/**
@@ -1121,6 +1286,9 @@ abstract class FolderI18n implements ActiveRecordInterface
if ($this->isColumnModified(FolderI18nTableMap::DESCRIPTION)) $criteria->add(FolderI18nTableMap::DESCRIPTION, $this->description);
if ($this->isColumnModified(FolderI18nTableMap::CHAPO)) $criteria->add(FolderI18nTableMap::CHAPO, $this->chapo);
if ($this->isColumnModified(FolderI18nTableMap::POSTSCRIPTUM)) $criteria->add(FolderI18nTableMap::POSTSCRIPTUM, $this->postscriptum);
+ if ($this->isColumnModified(FolderI18nTableMap::META_TITLE)) $criteria->add(FolderI18nTableMap::META_TITLE, $this->meta_title);
+ if ($this->isColumnModified(FolderI18nTableMap::META_DESCRIPTION)) $criteria->add(FolderI18nTableMap::META_DESCRIPTION, $this->meta_description);
+ if ($this->isColumnModified(FolderI18nTableMap::META_KEYWORDS)) $criteria->add(FolderI18nTableMap::META_KEYWORDS, $this->meta_keywords);
return $criteria;
}
@@ -1197,6 +1365,9 @@ abstract class FolderI18n implements ActiveRecordInterface
$copyObj->setDescription($this->getDescription());
$copyObj->setChapo($this->getChapo());
$copyObj->setPostscriptum($this->getPostscriptum());
+ $copyObj->setMetaTitle($this->getMetaTitle());
+ $copyObj->setMetaDescription($this->getMetaDescription());
+ $copyObj->setMetaKeywords($this->getMetaKeywords());
if ($makeNew) {
$copyObj->setNew(true);
}
@@ -1286,6 +1457,9 @@ abstract class FolderI18n implements ActiveRecordInterface
$this->description = null;
$this->chapo = null;
$this->postscriptum = null;
+ $this->meta_title = null;
+ $this->meta_description = null;
+ $this->meta_keywords = null;
$this->alreadyInSave = false;
$this->clearAllReferences();
$this->applyDefaultValues();
diff --git a/core/lib/Thelia/Model/Base/FolderI18nQuery.php b/core/lib/Thelia/Model/Base/FolderI18nQuery.php
index bc1e5adf4..5a95c3689 100644
--- a/core/lib/Thelia/Model/Base/FolderI18nQuery.php
+++ b/core/lib/Thelia/Model/Base/FolderI18nQuery.php
@@ -27,6 +27,9 @@ use Thelia\Model\Map\FolderI18nTableMap;
* @method ChildFolderI18nQuery orderByDescription($order = Criteria::ASC) Order by the description column
* @method ChildFolderI18nQuery orderByChapo($order = Criteria::ASC) Order by the chapo column
* @method ChildFolderI18nQuery orderByPostscriptum($order = Criteria::ASC) Order by the postscriptum column
+ * @method ChildFolderI18nQuery orderByMetaTitle($order = Criteria::ASC) Order by the meta_title column
+ * @method ChildFolderI18nQuery orderByMetaDescription($order = Criteria::ASC) Order by the meta_description column
+ * @method ChildFolderI18nQuery orderByMetaKeywords($order = Criteria::ASC) Order by the meta_keywords column
*
* @method ChildFolderI18nQuery groupById() Group by the id column
* @method ChildFolderI18nQuery groupByLocale() Group by the locale column
@@ -34,6 +37,9 @@ use Thelia\Model\Map\FolderI18nTableMap;
* @method ChildFolderI18nQuery groupByDescription() Group by the description column
* @method ChildFolderI18nQuery groupByChapo() Group by the chapo column
* @method ChildFolderI18nQuery groupByPostscriptum() Group by the postscriptum column
+ * @method ChildFolderI18nQuery groupByMetaTitle() Group by the meta_title column
+ * @method ChildFolderI18nQuery groupByMetaDescription() Group by the meta_description column
+ * @method ChildFolderI18nQuery groupByMetaKeywords() Group by the meta_keywords column
*
* @method ChildFolderI18nQuery leftJoin($relation) Adds a LEFT JOIN clause to the query
* @method ChildFolderI18nQuery rightJoin($relation) Adds a RIGHT JOIN clause to the query
@@ -52,6 +58,9 @@ use Thelia\Model\Map\FolderI18nTableMap;
* @method ChildFolderI18n findOneByDescription(string $description) Return the first ChildFolderI18n filtered by the description column
* @method ChildFolderI18n findOneByChapo(string $chapo) Return the first ChildFolderI18n filtered by the chapo column
* @method ChildFolderI18n findOneByPostscriptum(string $postscriptum) Return the first ChildFolderI18n filtered by the postscriptum column
+ * @method ChildFolderI18n findOneByMetaTitle(string $meta_title) Return the first ChildFolderI18n filtered by the meta_title column
+ * @method ChildFolderI18n findOneByMetaDescription(string $meta_description) Return the first ChildFolderI18n filtered by the meta_description column
+ * @method ChildFolderI18n findOneByMetaKeywords(string $meta_keywords) Return the first ChildFolderI18n filtered by the meta_keywords column
*
* @method array findById(int $id) Return ChildFolderI18n objects filtered by the id column
* @method array findByLocale(string $locale) Return ChildFolderI18n objects filtered by the locale column
@@ -59,6 +68,9 @@ use Thelia\Model\Map\FolderI18nTableMap;
* @method array findByDescription(string $description) Return ChildFolderI18n objects filtered by the description column
* @method array findByChapo(string $chapo) Return ChildFolderI18n objects filtered by the chapo column
* @method array findByPostscriptum(string $postscriptum) Return ChildFolderI18n objects filtered by the postscriptum column
+ * @method array findByMetaTitle(string $meta_title) Return ChildFolderI18n objects filtered by the meta_title column
+ * @method array findByMetaDescription(string $meta_description) Return ChildFolderI18n objects filtered by the meta_description column
+ * @method array findByMetaKeywords(string $meta_keywords) Return ChildFolderI18n objects filtered by the meta_keywords column
*
*/
abstract class FolderI18nQuery extends ModelCriteria
@@ -147,7 +159,7 @@ abstract class FolderI18nQuery extends ModelCriteria
*/
protected function findPkSimple($key, $con)
{
- $sql = 'SELECT ID, LOCALE, TITLE, DESCRIPTION, CHAPO, POSTSCRIPTUM FROM folder_i18n WHERE ID = :p0 AND LOCALE = :p1';
+ $sql = 'SELECT ID, LOCALE, TITLE, DESCRIPTION, CHAPO, POSTSCRIPTUM, META_TITLE, META_DESCRIPTION, META_KEYWORDS FROM folder_i18n WHERE ID = :p0 AND LOCALE = :p1';
try {
$stmt = $con->prepare($sql);
$stmt->bindValue(':p0', $key[0], PDO::PARAM_INT);
@@ -436,6 +448,93 @@ abstract class FolderI18nQuery extends ModelCriteria
return $this->addUsingAlias(FolderI18nTableMap::POSTSCRIPTUM, $postscriptum, $comparison);
}
+ /**
+ * Filter the query on the meta_title column
+ *
+ * Example usage:
+ *
+ * $query->filterByMetaTitle('fooValue'); // WHERE meta_title = 'fooValue'
+ * $query->filterByMetaTitle('%fooValue%'); // WHERE meta_title LIKE '%fooValue%'
+ *
+ *
+ * @param string $metaTitle The value to use as filter.
+ * Accepts wildcards (* and % trigger a LIKE)
+ * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
+ *
+ * @return ChildFolderI18nQuery The current query, for fluid interface
+ */
+ public function filterByMetaTitle($metaTitle = null, $comparison = null)
+ {
+ if (null === $comparison) {
+ if (is_array($metaTitle)) {
+ $comparison = Criteria::IN;
+ } elseif (preg_match('/[\%\*]/', $metaTitle)) {
+ $metaTitle = str_replace('*', '%', $metaTitle);
+ $comparison = Criteria::LIKE;
+ }
+ }
+
+ return $this->addUsingAlias(FolderI18nTableMap::META_TITLE, $metaTitle, $comparison);
+ }
+
+ /**
+ * Filter the query on the meta_description column
+ *
+ * Example usage:
+ *
+ * $query->filterByMetaDescription('fooValue'); // WHERE meta_description = 'fooValue'
+ * $query->filterByMetaDescription('%fooValue%'); // WHERE meta_description LIKE '%fooValue%'
+ *
+ *
+ * @param string $metaDescription The value to use as filter.
+ * Accepts wildcards (* and % trigger a LIKE)
+ * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
+ *
+ * @return ChildFolderI18nQuery The current query, for fluid interface
+ */
+ public function filterByMetaDescription($metaDescription = null, $comparison = null)
+ {
+ if (null === $comparison) {
+ if (is_array($metaDescription)) {
+ $comparison = Criteria::IN;
+ } elseif (preg_match('/[\%\*]/', $metaDescription)) {
+ $metaDescription = str_replace('*', '%', $metaDescription);
+ $comparison = Criteria::LIKE;
+ }
+ }
+
+ return $this->addUsingAlias(FolderI18nTableMap::META_DESCRIPTION, $metaDescription, $comparison);
+ }
+
+ /**
+ * Filter the query on the meta_keywords column
+ *
+ * Example usage:
+ *
+ * $query->filterByMetaKeywords('fooValue'); // WHERE meta_keywords = 'fooValue'
+ * $query->filterByMetaKeywords('%fooValue%'); // WHERE meta_keywords LIKE '%fooValue%'
+ *
+ *
+ * @param string $metaKeywords The value to use as filter.
+ * Accepts wildcards (* and % trigger a LIKE)
+ * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
+ *
+ * @return ChildFolderI18nQuery The current query, for fluid interface
+ */
+ public function filterByMetaKeywords($metaKeywords = null, $comparison = null)
+ {
+ if (null === $comparison) {
+ if (is_array($metaKeywords)) {
+ $comparison = Criteria::IN;
+ } elseif (preg_match('/[\%\*]/', $metaKeywords)) {
+ $metaKeywords = str_replace('*', '%', $metaKeywords);
+ $comparison = Criteria::LIKE;
+ }
+ }
+
+ return $this->addUsingAlias(FolderI18nTableMap::META_KEYWORDS, $metaKeywords, $comparison);
+ }
+
/**
* Filter the query by a related \Thelia\Model\Folder object
*
diff --git a/core/lib/Thelia/Model/Base/Product.php b/core/lib/Thelia/Model/Base/Product.php
index e850d2acf..50d8e96a3 100644
--- a/core/lib/Thelia/Model/Base/Product.php
+++ b/core/lib/Thelia/Model/Base/Product.php
@@ -5916,24 +5916,24 @@ abstract class Product implements ActiveRecordInterface
/**
- * Get the [meta_keyword] column value.
+ * Get the [meta_keywords] column value.
*
* @return string
*/
- public function getMetaKeyword()
+ public function getMetaKeywords()
{
- return $this->getCurrentTranslation()->getMetaKeyword();
+ return $this->getCurrentTranslation()->getMetaKeywords();
}
/**
- * Set the value of [meta_keyword] column.
+ * Set the value of [meta_keywords] column.
*
* @param string $v new value
* @return \Thelia\Model\ProductI18n The current object (for fluent API support)
*/
- public function setMetaKeyword($v)
- { $this->getCurrentTranslation()->setMetaKeyword($v);
+ public function setMetaKeywords($v)
+ { $this->getCurrentTranslation()->setMetaKeywords($v);
return $this;
}
diff --git a/core/lib/Thelia/Model/Base/ProductI18n.php b/core/lib/Thelia/Model/Base/ProductI18n.php
index a72f07c83..44f67373d 100644
--- a/core/lib/Thelia/Model/Base/ProductI18n.php
+++ b/core/lib/Thelia/Model/Base/ProductI18n.php
@@ -103,10 +103,10 @@ abstract class ProductI18n implements ActiveRecordInterface
protected $meta_description;
/**
- * The value for the meta_keyword field.
+ * The value for the meta_keywords field.
* @var string
*/
- protected $meta_keyword;
+ protected $meta_keywords;
/**
* @var Product
@@ -481,14 +481,14 @@ abstract class ProductI18n implements ActiveRecordInterface
}
/**
- * Get the [meta_keyword] column value.
+ * Get the [meta_keywords] column value.
*
* @return string
*/
- public function getMetaKeyword()
+ public function getMetaKeywords()
{
- return $this->meta_keyword;
+ return $this->meta_keywords;
}
/**
@@ -664,25 +664,25 @@ abstract class ProductI18n implements ActiveRecordInterface
} // setMetaDescription()
/**
- * Set the value of [meta_keyword] column.
+ * Set the value of [meta_keywords] column.
*
* @param string $v new value
* @return \Thelia\Model\ProductI18n The current object (for fluent API support)
*/
- public function setMetaKeyword($v)
+ public function setMetaKeywords($v)
{
if ($v !== null) {
$v = (string) $v;
}
- if ($this->meta_keyword !== $v) {
- $this->meta_keyword = $v;
- $this->modifiedColumns[] = ProductI18nTableMap::META_KEYWORD;
+ if ($this->meta_keywords !== $v) {
+ $this->meta_keywords = $v;
+ $this->modifiedColumns[] = ProductI18nTableMap::META_KEYWORDS;
}
return $this;
- } // setMetaKeyword()
+ } // setMetaKeywords()
/**
* Indicates whether the columns in this object are only set to default values.
@@ -749,8 +749,8 @@ abstract class ProductI18n implements ActiveRecordInterface
$col = $row[TableMap::TYPE_NUM == $indexType ? 7 + $startcol : ProductI18nTableMap::translateFieldName('MetaDescription', TableMap::TYPE_PHPNAME, $indexType)];
$this->meta_description = (null !== $col) ? (string) $col : null;
- $col = $row[TableMap::TYPE_NUM == $indexType ? 8 + $startcol : ProductI18nTableMap::translateFieldName('MetaKeyword', TableMap::TYPE_PHPNAME, $indexType)];
- $this->meta_keyword = (null !== $col) ? (string) $col : null;
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 8 + $startcol : ProductI18nTableMap::translateFieldName('MetaKeywords', TableMap::TYPE_PHPNAME, $indexType)];
+ $this->meta_keywords = (null !== $col) ? (string) $col : null;
$this->resetModified();
$this->setNew(false);
@@ -1004,8 +1004,8 @@ abstract class ProductI18n implements ActiveRecordInterface
if ($this->isColumnModified(ProductI18nTableMap::META_DESCRIPTION)) {
$modifiedColumns[':p' . $index++] = 'META_DESCRIPTION';
}
- if ($this->isColumnModified(ProductI18nTableMap::META_KEYWORD)) {
- $modifiedColumns[':p' . $index++] = 'META_KEYWORD';
+ if ($this->isColumnModified(ProductI18nTableMap::META_KEYWORDS)) {
+ $modifiedColumns[':p' . $index++] = 'META_KEYWORDS';
}
$sql = sprintf(
@@ -1042,8 +1042,8 @@ abstract class ProductI18n implements ActiveRecordInterface
case 'META_DESCRIPTION':
$stmt->bindValue($identifier, $this->meta_description, PDO::PARAM_STR);
break;
- case 'META_KEYWORD':
- $stmt->bindValue($identifier, $this->meta_keyword, PDO::PARAM_STR);
+ case 'META_KEYWORDS':
+ $stmt->bindValue($identifier, $this->meta_keywords, PDO::PARAM_STR);
break;
}
}
@@ -1125,7 +1125,7 @@ abstract class ProductI18n implements ActiveRecordInterface
return $this->getMetaDescription();
break;
case 8:
- return $this->getMetaKeyword();
+ return $this->getMetaKeywords();
break;
default:
return null;
@@ -1164,7 +1164,7 @@ abstract class ProductI18n implements ActiveRecordInterface
$keys[5] => $this->getPostscriptum(),
$keys[6] => $this->getMetaTitle(),
$keys[7] => $this->getMetaDescription(),
- $keys[8] => $this->getMetaKeyword(),
+ $keys[8] => $this->getMetaKeywords(),
);
$virtualColumns = $this->virtualColumns;
foreach ($virtualColumns as $key => $virtualColumn) {
@@ -1234,7 +1234,7 @@ abstract class ProductI18n implements ActiveRecordInterface
$this->setMetaDescription($value);
break;
case 8:
- $this->setMetaKeyword($value);
+ $this->setMetaKeywords($value);
break;
} // switch()
}
@@ -1268,7 +1268,7 @@ abstract class ProductI18n implements ActiveRecordInterface
if (array_key_exists($keys[5], $arr)) $this->setPostscriptum($arr[$keys[5]]);
if (array_key_exists($keys[6], $arr)) $this->setMetaTitle($arr[$keys[6]]);
if (array_key_exists($keys[7], $arr)) $this->setMetaDescription($arr[$keys[7]]);
- if (array_key_exists($keys[8], $arr)) $this->setMetaKeyword($arr[$keys[8]]);
+ if (array_key_exists($keys[8], $arr)) $this->setMetaKeywords($arr[$keys[8]]);
}
/**
@@ -1288,7 +1288,7 @@ abstract class ProductI18n implements ActiveRecordInterface
if ($this->isColumnModified(ProductI18nTableMap::POSTSCRIPTUM)) $criteria->add(ProductI18nTableMap::POSTSCRIPTUM, $this->postscriptum);
if ($this->isColumnModified(ProductI18nTableMap::META_TITLE)) $criteria->add(ProductI18nTableMap::META_TITLE, $this->meta_title);
if ($this->isColumnModified(ProductI18nTableMap::META_DESCRIPTION)) $criteria->add(ProductI18nTableMap::META_DESCRIPTION, $this->meta_description);
- if ($this->isColumnModified(ProductI18nTableMap::META_KEYWORD)) $criteria->add(ProductI18nTableMap::META_KEYWORD, $this->meta_keyword);
+ if ($this->isColumnModified(ProductI18nTableMap::META_KEYWORDS)) $criteria->add(ProductI18nTableMap::META_KEYWORDS, $this->meta_keywords);
return $criteria;
}
@@ -1367,7 +1367,7 @@ abstract class ProductI18n implements ActiveRecordInterface
$copyObj->setPostscriptum($this->getPostscriptum());
$copyObj->setMetaTitle($this->getMetaTitle());
$copyObj->setMetaDescription($this->getMetaDescription());
- $copyObj->setMetaKeyword($this->getMetaKeyword());
+ $copyObj->setMetaKeywords($this->getMetaKeywords());
if ($makeNew) {
$copyObj->setNew(true);
}
@@ -1459,7 +1459,7 @@ abstract class ProductI18n implements ActiveRecordInterface
$this->postscriptum = null;
$this->meta_title = null;
$this->meta_description = null;
- $this->meta_keyword = null;
+ $this->meta_keywords = null;
$this->alreadyInSave = false;
$this->clearAllReferences();
$this->applyDefaultValues();
diff --git a/core/lib/Thelia/Model/Base/ProductI18nQuery.php b/core/lib/Thelia/Model/Base/ProductI18nQuery.php
index 01d3af9d4..c9eae20ad 100644
--- a/core/lib/Thelia/Model/Base/ProductI18nQuery.php
+++ b/core/lib/Thelia/Model/Base/ProductI18nQuery.php
@@ -29,7 +29,7 @@ use Thelia\Model\Map\ProductI18nTableMap;
* @method ChildProductI18nQuery orderByPostscriptum($order = Criteria::ASC) Order by the postscriptum column
* @method ChildProductI18nQuery orderByMetaTitle($order = Criteria::ASC) Order by the meta_title column
* @method ChildProductI18nQuery orderByMetaDescription($order = Criteria::ASC) Order by the meta_description column
- * @method ChildProductI18nQuery orderByMetaKeyword($order = Criteria::ASC) Order by the meta_keyword column
+ * @method ChildProductI18nQuery orderByMetaKeywords($order = Criteria::ASC) Order by the meta_keywords column
*
* @method ChildProductI18nQuery groupById() Group by the id column
* @method ChildProductI18nQuery groupByLocale() Group by the locale column
@@ -39,7 +39,7 @@ use Thelia\Model\Map\ProductI18nTableMap;
* @method ChildProductI18nQuery groupByPostscriptum() Group by the postscriptum column
* @method ChildProductI18nQuery groupByMetaTitle() Group by the meta_title column
* @method ChildProductI18nQuery groupByMetaDescription() Group by the meta_description column
- * @method ChildProductI18nQuery groupByMetaKeyword() Group by the meta_keyword column
+ * @method ChildProductI18nQuery groupByMetaKeywords() Group by the meta_keywords column
*
* @method ChildProductI18nQuery leftJoin($relation) Adds a LEFT JOIN clause to the query
* @method ChildProductI18nQuery rightJoin($relation) Adds a RIGHT JOIN clause to the query
@@ -60,7 +60,7 @@ use Thelia\Model\Map\ProductI18nTableMap;
* @method ChildProductI18n findOneByPostscriptum(string $postscriptum) Return the first ChildProductI18n filtered by the postscriptum column
* @method ChildProductI18n findOneByMetaTitle(string $meta_title) Return the first ChildProductI18n filtered by the meta_title column
* @method ChildProductI18n findOneByMetaDescription(string $meta_description) Return the first ChildProductI18n filtered by the meta_description column
- * @method ChildProductI18n findOneByMetaKeyword(string $meta_keyword) Return the first ChildProductI18n filtered by the meta_keyword column
+ * @method ChildProductI18n findOneByMetaKeywords(string $meta_keywords) Return the first ChildProductI18n filtered by the meta_keywords column
*
* @method array findById(int $id) Return ChildProductI18n objects filtered by the id column
* @method array findByLocale(string $locale) Return ChildProductI18n objects filtered by the locale column
@@ -70,7 +70,7 @@ use Thelia\Model\Map\ProductI18nTableMap;
* @method array findByPostscriptum(string $postscriptum) Return ChildProductI18n objects filtered by the postscriptum column
* @method array findByMetaTitle(string $meta_title) Return ChildProductI18n objects filtered by the meta_title column
* @method array findByMetaDescription(string $meta_description) Return ChildProductI18n objects filtered by the meta_description column
- * @method array findByMetaKeyword(string $meta_keyword) Return ChildProductI18n objects filtered by the meta_keyword column
+ * @method array findByMetaKeywords(string $meta_keywords) Return ChildProductI18n objects filtered by the meta_keywords column
*
*/
abstract class ProductI18nQuery extends ModelCriteria
@@ -159,7 +159,7 @@ abstract class ProductI18nQuery extends ModelCriteria
*/
protected function findPkSimple($key, $con)
{
- $sql = 'SELECT ID, LOCALE, TITLE, DESCRIPTION, CHAPO, POSTSCRIPTUM, META_TITLE, META_DESCRIPTION, META_KEYWORD FROM product_i18n WHERE ID = :p0 AND LOCALE = :p1';
+ $sql = 'SELECT ID, LOCALE, TITLE, DESCRIPTION, CHAPO, POSTSCRIPTUM, META_TITLE, META_DESCRIPTION, META_KEYWORDS FROM product_i18n WHERE ID = :p0 AND LOCALE = :p1';
try {
$stmt = $con->prepare($sql);
$stmt->bindValue(':p0', $key[0], PDO::PARAM_INT);
@@ -507,32 +507,32 @@ abstract class ProductI18nQuery extends ModelCriteria
}
/**
- * Filter the query on the meta_keyword column
+ * Filter the query on the meta_keywords column
*
* Example usage:
*
- * $query->filterByMetaKeyword('fooValue'); // WHERE meta_keyword = 'fooValue'
- * $query->filterByMetaKeyword('%fooValue%'); // WHERE meta_keyword LIKE '%fooValue%'
+ * $query->filterByMetaKeywords('fooValue'); // WHERE meta_keywords = 'fooValue'
+ * $query->filterByMetaKeywords('%fooValue%'); // WHERE meta_keywords LIKE '%fooValue%'
*
*
- * @param string $metaKeyword The value to use as filter.
+ * @param string $metaKeywords The value to use as filter.
* Accepts wildcards (* and % trigger a LIKE)
* @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
*
* @return ChildProductI18nQuery The current query, for fluid interface
*/
- public function filterByMetaKeyword($metaKeyword = null, $comparison = null)
+ public function filterByMetaKeywords($metaKeywords = null, $comparison = null)
{
if (null === $comparison) {
- if (is_array($metaKeyword)) {
+ if (is_array($metaKeywords)) {
$comparison = Criteria::IN;
- } elseif (preg_match('/[\%\*]/', $metaKeyword)) {
- $metaKeyword = str_replace('*', '%', $metaKeyword);
+ } elseif (preg_match('/[\%\*]/', $metaKeywords)) {
+ $metaKeywords = str_replace('*', '%', $metaKeywords);
$comparison = Criteria::LIKE;
}
}
- return $this->addUsingAlias(ProductI18nTableMap::META_KEYWORD, $metaKeyword, $comparison);
+ return $this->addUsingAlias(ProductI18nTableMap::META_KEYWORDS, $metaKeywords, $comparison);
}
/**
diff --git a/core/lib/Thelia/Model/Map/CategoryI18nTableMap.php b/core/lib/Thelia/Model/Map/CategoryI18nTableMap.php
index 8c52aa7b2..4fe5adb5d 100644
--- a/core/lib/Thelia/Model/Map/CategoryI18nTableMap.php
+++ b/core/lib/Thelia/Model/Map/CategoryI18nTableMap.php
@@ -57,7 +57,7 @@ class CategoryI18nTableMap extends TableMap
/**
* The total number of columns
*/
- const NUM_COLUMNS = 6;
+ const NUM_COLUMNS = 9;
/**
* The number of lazy-loaded columns
@@ -67,7 +67,7 @@ class CategoryI18nTableMap extends TableMap
/**
* The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS)
*/
- const NUM_HYDRATE_COLUMNS = 6;
+ const NUM_HYDRATE_COLUMNS = 9;
/**
* the column name for the ID field
@@ -99,6 +99,21 @@ class CategoryI18nTableMap extends TableMap
*/
const POSTSCRIPTUM = 'category_i18n.POSTSCRIPTUM';
+ /**
+ * the column name for the META_TITLE field
+ */
+ const META_TITLE = 'category_i18n.META_TITLE';
+
+ /**
+ * the column name for the META_DESCRIPTION field
+ */
+ const META_DESCRIPTION = 'category_i18n.META_DESCRIPTION';
+
+ /**
+ * the column name for the META_KEYWORDS field
+ */
+ const META_KEYWORDS = 'category_i18n.META_KEYWORDS';
+
/**
* The default string format for model objects of the related table
*/
@@ -111,12 +126,12 @@ class CategoryI18nTableMap extends TableMap
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/
protected static $fieldNames = array (
- self::TYPE_PHPNAME => array('Id', 'Locale', 'Title', 'Description', 'Chapo', 'Postscriptum', ),
- self::TYPE_STUDLYPHPNAME => array('id', 'locale', 'title', 'description', 'chapo', 'postscriptum', ),
- self::TYPE_COLNAME => array(CategoryI18nTableMap::ID, CategoryI18nTableMap::LOCALE, CategoryI18nTableMap::TITLE, CategoryI18nTableMap::DESCRIPTION, CategoryI18nTableMap::CHAPO, CategoryI18nTableMap::POSTSCRIPTUM, ),
- self::TYPE_RAW_COLNAME => array('ID', 'LOCALE', 'TITLE', 'DESCRIPTION', 'CHAPO', 'POSTSCRIPTUM', ),
- self::TYPE_FIELDNAME => array('id', 'locale', 'title', 'description', 'chapo', 'postscriptum', ),
- self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, )
+ self::TYPE_PHPNAME => array('Id', 'Locale', 'Title', 'Description', 'Chapo', 'Postscriptum', 'MetaTitle', 'MetaDescription', 'MetaKeywords', ),
+ self::TYPE_STUDLYPHPNAME => array('id', 'locale', 'title', 'description', 'chapo', 'postscriptum', 'metaTitle', 'metaDescription', 'metaKeywords', ),
+ self::TYPE_COLNAME => array(CategoryI18nTableMap::ID, CategoryI18nTableMap::LOCALE, CategoryI18nTableMap::TITLE, CategoryI18nTableMap::DESCRIPTION, CategoryI18nTableMap::CHAPO, CategoryI18nTableMap::POSTSCRIPTUM, CategoryI18nTableMap::META_TITLE, CategoryI18nTableMap::META_DESCRIPTION, CategoryI18nTableMap::META_KEYWORDS, ),
+ self::TYPE_RAW_COLNAME => array('ID', 'LOCALE', 'TITLE', 'DESCRIPTION', 'CHAPO', 'POSTSCRIPTUM', 'META_TITLE', 'META_DESCRIPTION', 'META_KEYWORDS', ),
+ self::TYPE_FIELDNAME => array('id', 'locale', 'title', 'description', 'chapo', 'postscriptum', 'meta_title', 'meta_description', 'meta_keywords', ),
+ self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, )
);
/**
@@ -126,12 +141,12 @@ class CategoryI18nTableMap extends TableMap
* e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0
*/
protected static $fieldKeys = array (
- self::TYPE_PHPNAME => array('Id' => 0, 'Locale' => 1, 'Title' => 2, 'Description' => 3, 'Chapo' => 4, 'Postscriptum' => 5, ),
- self::TYPE_STUDLYPHPNAME => array('id' => 0, 'locale' => 1, 'title' => 2, 'description' => 3, 'chapo' => 4, 'postscriptum' => 5, ),
- self::TYPE_COLNAME => array(CategoryI18nTableMap::ID => 0, CategoryI18nTableMap::LOCALE => 1, CategoryI18nTableMap::TITLE => 2, CategoryI18nTableMap::DESCRIPTION => 3, CategoryI18nTableMap::CHAPO => 4, CategoryI18nTableMap::POSTSCRIPTUM => 5, ),
- self::TYPE_RAW_COLNAME => array('ID' => 0, 'LOCALE' => 1, 'TITLE' => 2, 'DESCRIPTION' => 3, 'CHAPO' => 4, 'POSTSCRIPTUM' => 5, ),
- self::TYPE_FIELDNAME => array('id' => 0, 'locale' => 1, 'title' => 2, 'description' => 3, 'chapo' => 4, 'postscriptum' => 5, ),
- self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, )
+ self::TYPE_PHPNAME => array('Id' => 0, 'Locale' => 1, 'Title' => 2, 'Description' => 3, 'Chapo' => 4, 'Postscriptum' => 5, 'MetaTitle' => 6, 'MetaDescription' => 7, 'MetaKeywords' => 8, ),
+ self::TYPE_STUDLYPHPNAME => array('id' => 0, 'locale' => 1, 'title' => 2, 'description' => 3, 'chapo' => 4, 'postscriptum' => 5, 'metaTitle' => 6, 'metaDescription' => 7, 'metaKeywords' => 8, ),
+ self::TYPE_COLNAME => array(CategoryI18nTableMap::ID => 0, CategoryI18nTableMap::LOCALE => 1, CategoryI18nTableMap::TITLE => 2, CategoryI18nTableMap::DESCRIPTION => 3, CategoryI18nTableMap::CHAPO => 4, CategoryI18nTableMap::POSTSCRIPTUM => 5, CategoryI18nTableMap::META_TITLE => 6, CategoryI18nTableMap::META_DESCRIPTION => 7, CategoryI18nTableMap::META_KEYWORDS => 8, ),
+ self::TYPE_RAW_COLNAME => array('ID' => 0, 'LOCALE' => 1, 'TITLE' => 2, 'DESCRIPTION' => 3, 'CHAPO' => 4, 'POSTSCRIPTUM' => 5, 'META_TITLE' => 6, 'META_DESCRIPTION' => 7, 'META_KEYWORDS' => 8, ),
+ self::TYPE_FIELDNAME => array('id' => 0, 'locale' => 1, 'title' => 2, 'description' => 3, 'chapo' => 4, 'postscriptum' => 5, 'meta_title' => 6, 'meta_description' => 7, 'meta_keywords' => 8, ),
+ self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, )
);
/**
@@ -156,6 +171,9 @@ class CategoryI18nTableMap extends TableMap
$this->addColumn('DESCRIPTION', 'Description', 'CLOB', false, null, null);
$this->addColumn('CHAPO', 'Chapo', 'LONGVARCHAR', false, null, null);
$this->addColumn('POSTSCRIPTUM', 'Postscriptum', 'LONGVARCHAR', false, null, null);
+ $this->addColumn('META_TITLE', 'MetaTitle', 'VARCHAR', false, 255, null);
+ $this->addColumn('META_DESCRIPTION', 'MetaDescription', 'LONGVARCHAR', false, null, null);
+ $this->addColumn('META_KEYWORDS', 'MetaKeywords', 'LONGVARCHAR', false, null, null);
} // initialize()
/**
@@ -359,6 +377,9 @@ class CategoryI18nTableMap extends TableMap
$criteria->addSelectColumn(CategoryI18nTableMap::DESCRIPTION);
$criteria->addSelectColumn(CategoryI18nTableMap::CHAPO);
$criteria->addSelectColumn(CategoryI18nTableMap::POSTSCRIPTUM);
+ $criteria->addSelectColumn(CategoryI18nTableMap::META_TITLE);
+ $criteria->addSelectColumn(CategoryI18nTableMap::META_DESCRIPTION);
+ $criteria->addSelectColumn(CategoryI18nTableMap::META_KEYWORDS);
} else {
$criteria->addSelectColumn($alias . '.ID');
$criteria->addSelectColumn($alias . '.LOCALE');
@@ -366,6 +387,9 @@ class CategoryI18nTableMap extends TableMap
$criteria->addSelectColumn($alias . '.DESCRIPTION');
$criteria->addSelectColumn($alias . '.CHAPO');
$criteria->addSelectColumn($alias . '.POSTSCRIPTUM');
+ $criteria->addSelectColumn($alias . '.META_TITLE');
+ $criteria->addSelectColumn($alias . '.META_DESCRIPTION');
+ $criteria->addSelectColumn($alias . '.META_KEYWORDS');
}
}
diff --git a/core/lib/Thelia/Model/Map/CategoryTableMap.php b/core/lib/Thelia/Model/Map/CategoryTableMap.php
index cd0ca3799..de74d53ae 100644
--- a/core/lib/Thelia/Model/Map/CategoryTableMap.php
+++ b/core/lib/Thelia/Model/Map/CategoryTableMap.php
@@ -208,7 +208,7 @@ class CategoryTableMap extends TableMap
public function getBehaviors()
{
return array(
- 'i18n' => array('i18n_table' => '%TABLE%_i18n', 'i18n_phpname' => '%PHPNAME%I18n', 'i18n_columns' => 'title, description, chapo, postscriptum', 'locale_column' => 'locale', 'locale_length' => '5', 'default_locale' => '', 'locale_alias' => '', ),
+ 'i18n' => array('i18n_table' => '%TABLE%_i18n', 'i18n_phpname' => '%PHPNAME%I18n', 'i18n_columns' => 'title, description, chapo, postscriptum, meta_title, meta_description, meta_keywords', 'locale_column' => 'locale', 'locale_length' => '5', 'default_locale' => '', 'locale_alias' => '', ),
'versionable' => array('version_column' => 'version', 'version_table' => '', 'log_created_at' => 'true', 'log_created_by' => 'true', 'log_comment' => 'false', 'version_created_at_column' => 'version_created_at', 'version_created_by_column' => 'version_created_by', 'version_comment_column' => 'version_comment', ),
'timestampable' => array('create_column' => 'created_at', 'update_column' => 'updated_at', ),
);
diff --git a/core/lib/Thelia/Model/Map/ContentI18nTableMap.php b/core/lib/Thelia/Model/Map/ContentI18nTableMap.php
index f718623b0..a69ac957e 100644
--- a/core/lib/Thelia/Model/Map/ContentI18nTableMap.php
+++ b/core/lib/Thelia/Model/Map/ContentI18nTableMap.php
@@ -57,7 +57,7 @@ class ContentI18nTableMap extends TableMap
/**
* The total number of columns
*/
- const NUM_COLUMNS = 6;
+ const NUM_COLUMNS = 9;
/**
* The number of lazy-loaded columns
@@ -67,7 +67,7 @@ class ContentI18nTableMap extends TableMap
/**
* The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS)
*/
- const NUM_HYDRATE_COLUMNS = 6;
+ const NUM_HYDRATE_COLUMNS = 9;
/**
* the column name for the ID field
@@ -99,6 +99,21 @@ class ContentI18nTableMap extends TableMap
*/
const POSTSCRIPTUM = 'content_i18n.POSTSCRIPTUM';
+ /**
+ * the column name for the META_TITLE field
+ */
+ const META_TITLE = 'content_i18n.META_TITLE';
+
+ /**
+ * the column name for the META_DESCRIPTION field
+ */
+ const META_DESCRIPTION = 'content_i18n.META_DESCRIPTION';
+
+ /**
+ * the column name for the META_KEYWORDS field
+ */
+ const META_KEYWORDS = 'content_i18n.META_KEYWORDS';
+
/**
* The default string format for model objects of the related table
*/
@@ -111,12 +126,12 @@ class ContentI18nTableMap extends TableMap
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/
protected static $fieldNames = array (
- self::TYPE_PHPNAME => array('Id', 'Locale', 'Title', 'Description', 'Chapo', 'Postscriptum', ),
- self::TYPE_STUDLYPHPNAME => array('id', 'locale', 'title', 'description', 'chapo', 'postscriptum', ),
- self::TYPE_COLNAME => array(ContentI18nTableMap::ID, ContentI18nTableMap::LOCALE, ContentI18nTableMap::TITLE, ContentI18nTableMap::DESCRIPTION, ContentI18nTableMap::CHAPO, ContentI18nTableMap::POSTSCRIPTUM, ),
- self::TYPE_RAW_COLNAME => array('ID', 'LOCALE', 'TITLE', 'DESCRIPTION', 'CHAPO', 'POSTSCRIPTUM', ),
- self::TYPE_FIELDNAME => array('id', 'locale', 'title', 'description', 'chapo', 'postscriptum', ),
- self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, )
+ self::TYPE_PHPNAME => array('Id', 'Locale', 'Title', 'Description', 'Chapo', 'Postscriptum', 'MetaTitle', 'MetaDescription', 'MetaKeywords', ),
+ self::TYPE_STUDLYPHPNAME => array('id', 'locale', 'title', 'description', 'chapo', 'postscriptum', 'metaTitle', 'metaDescription', 'metaKeywords', ),
+ self::TYPE_COLNAME => array(ContentI18nTableMap::ID, ContentI18nTableMap::LOCALE, ContentI18nTableMap::TITLE, ContentI18nTableMap::DESCRIPTION, ContentI18nTableMap::CHAPO, ContentI18nTableMap::POSTSCRIPTUM, ContentI18nTableMap::META_TITLE, ContentI18nTableMap::META_DESCRIPTION, ContentI18nTableMap::META_KEYWORDS, ),
+ self::TYPE_RAW_COLNAME => array('ID', 'LOCALE', 'TITLE', 'DESCRIPTION', 'CHAPO', 'POSTSCRIPTUM', 'META_TITLE', 'META_DESCRIPTION', 'META_KEYWORDS', ),
+ self::TYPE_FIELDNAME => array('id', 'locale', 'title', 'description', 'chapo', 'postscriptum', 'meta_title', 'meta_description', 'meta_keywords', ),
+ self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, )
);
/**
@@ -126,12 +141,12 @@ class ContentI18nTableMap extends TableMap
* e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0
*/
protected static $fieldKeys = array (
- self::TYPE_PHPNAME => array('Id' => 0, 'Locale' => 1, 'Title' => 2, 'Description' => 3, 'Chapo' => 4, 'Postscriptum' => 5, ),
- self::TYPE_STUDLYPHPNAME => array('id' => 0, 'locale' => 1, 'title' => 2, 'description' => 3, 'chapo' => 4, 'postscriptum' => 5, ),
- self::TYPE_COLNAME => array(ContentI18nTableMap::ID => 0, ContentI18nTableMap::LOCALE => 1, ContentI18nTableMap::TITLE => 2, ContentI18nTableMap::DESCRIPTION => 3, ContentI18nTableMap::CHAPO => 4, ContentI18nTableMap::POSTSCRIPTUM => 5, ),
- self::TYPE_RAW_COLNAME => array('ID' => 0, 'LOCALE' => 1, 'TITLE' => 2, 'DESCRIPTION' => 3, 'CHAPO' => 4, 'POSTSCRIPTUM' => 5, ),
- self::TYPE_FIELDNAME => array('id' => 0, 'locale' => 1, 'title' => 2, 'description' => 3, 'chapo' => 4, 'postscriptum' => 5, ),
- self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, )
+ self::TYPE_PHPNAME => array('Id' => 0, 'Locale' => 1, 'Title' => 2, 'Description' => 3, 'Chapo' => 4, 'Postscriptum' => 5, 'MetaTitle' => 6, 'MetaDescription' => 7, 'MetaKeywords' => 8, ),
+ self::TYPE_STUDLYPHPNAME => array('id' => 0, 'locale' => 1, 'title' => 2, 'description' => 3, 'chapo' => 4, 'postscriptum' => 5, 'metaTitle' => 6, 'metaDescription' => 7, 'metaKeywords' => 8, ),
+ self::TYPE_COLNAME => array(ContentI18nTableMap::ID => 0, ContentI18nTableMap::LOCALE => 1, ContentI18nTableMap::TITLE => 2, ContentI18nTableMap::DESCRIPTION => 3, ContentI18nTableMap::CHAPO => 4, ContentI18nTableMap::POSTSCRIPTUM => 5, ContentI18nTableMap::META_TITLE => 6, ContentI18nTableMap::META_DESCRIPTION => 7, ContentI18nTableMap::META_KEYWORDS => 8, ),
+ self::TYPE_RAW_COLNAME => array('ID' => 0, 'LOCALE' => 1, 'TITLE' => 2, 'DESCRIPTION' => 3, 'CHAPO' => 4, 'POSTSCRIPTUM' => 5, 'META_TITLE' => 6, 'META_DESCRIPTION' => 7, 'META_KEYWORDS' => 8, ),
+ self::TYPE_FIELDNAME => array('id' => 0, 'locale' => 1, 'title' => 2, 'description' => 3, 'chapo' => 4, 'postscriptum' => 5, 'meta_title' => 6, 'meta_description' => 7, 'meta_keywords' => 8, ),
+ self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, )
);
/**
@@ -156,6 +171,9 @@ class ContentI18nTableMap extends TableMap
$this->addColumn('DESCRIPTION', 'Description', 'CLOB', false, null, null);
$this->addColumn('CHAPO', 'Chapo', 'LONGVARCHAR', false, null, null);
$this->addColumn('POSTSCRIPTUM', 'Postscriptum', 'LONGVARCHAR', false, null, null);
+ $this->addColumn('META_TITLE', 'MetaTitle', 'VARCHAR', false, 255, null);
+ $this->addColumn('META_DESCRIPTION', 'MetaDescription', 'LONGVARCHAR', false, null, null);
+ $this->addColumn('META_KEYWORDS', 'MetaKeywords', 'LONGVARCHAR', false, null, null);
} // initialize()
/**
@@ -359,6 +377,9 @@ class ContentI18nTableMap extends TableMap
$criteria->addSelectColumn(ContentI18nTableMap::DESCRIPTION);
$criteria->addSelectColumn(ContentI18nTableMap::CHAPO);
$criteria->addSelectColumn(ContentI18nTableMap::POSTSCRIPTUM);
+ $criteria->addSelectColumn(ContentI18nTableMap::META_TITLE);
+ $criteria->addSelectColumn(ContentI18nTableMap::META_DESCRIPTION);
+ $criteria->addSelectColumn(ContentI18nTableMap::META_KEYWORDS);
} else {
$criteria->addSelectColumn($alias . '.ID');
$criteria->addSelectColumn($alias . '.LOCALE');
@@ -366,6 +387,9 @@ class ContentI18nTableMap extends TableMap
$criteria->addSelectColumn($alias . '.DESCRIPTION');
$criteria->addSelectColumn($alias . '.CHAPO');
$criteria->addSelectColumn($alias . '.POSTSCRIPTUM');
+ $criteria->addSelectColumn($alias . '.META_TITLE');
+ $criteria->addSelectColumn($alias . '.META_DESCRIPTION');
+ $criteria->addSelectColumn($alias . '.META_KEYWORDS');
}
}
diff --git a/core/lib/Thelia/Model/Map/ContentTableMap.php b/core/lib/Thelia/Model/Map/ContentTableMap.php
index ae9b908c0..b9d859da3 100644
--- a/core/lib/Thelia/Model/Map/ContentTableMap.php
+++ b/core/lib/Thelia/Model/Map/ContentTableMap.php
@@ -204,7 +204,7 @@ class ContentTableMap extends TableMap
{
return array(
'timestampable' => array('create_column' => 'created_at', 'update_column' => 'updated_at', ),
- 'i18n' => array('i18n_table' => '%TABLE%_i18n', 'i18n_phpname' => '%PHPNAME%I18n', 'i18n_columns' => 'title, description, chapo, postscriptum', 'locale_column' => 'locale', 'locale_length' => '5', 'default_locale' => '', 'locale_alias' => '', ),
+ 'i18n' => array('i18n_table' => '%TABLE%_i18n', 'i18n_phpname' => '%PHPNAME%I18n', 'i18n_columns' => 'title, description, chapo, postscriptum, meta_title, meta_description, meta_keywords', 'locale_column' => 'locale', 'locale_length' => '5', 'default_locale' => '', 'locale_alias' => '', ),
'versionable' => array('version_column' => 'version', 'version_table' => '', 'log_created_at' => 'true', 'log_created_by' => 'true', 'log_comment' => 'false', 'version_created_at_column' => 'version_created_at', 'version_created_by_column' => 'version_created_by', 'version_comment_column' => 'version_comment', ),
);
} // getBehaviors()
diff --git a/core/lib/Thelia/Model/Map/FolderI18nTableMap.php b/core/lib/Thelia/Model/Map/FolderI18nTableMap.php
index d10344811..a09b9ef01 100644
--- a/core/lib/Thelia/Model/Map/FolderI18nTableMap.php
+++ b/core/lib/Thelia/Model/Map/FolderI18nTableMap.php
@@ -57,7 +57,7 @@ class FolderI18nTableMap extends TableMap
/**
* The total number of columns
*/
- const NUM_COLUMNS = 6;
+ const NUM_COLUMNS = 9;
/**
* The number of lazy-loaded columns
@@ -67,7 +67,7 @@ class FolderI18nTableMap extends TableMap
/**
* The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS)
*/
- const NUM_HYDRATE_COLUMNS = 6;
+ const NUM_HYDRATE_COLUMNS = 9;
/**
* the column name for the ID field
@@ -99,6 +99,21 @@ class FolderI18nTableMap extends TableMap
*/
const POSTSCRIPTUM = 'folder_i18n.POSTSCRIPTUM';
+ /**
+ * the column name for the META_TITLE field
+ */
+ const META_TITLE = 'folder_i18n.META_TITLE';
+
+ /**
+ * the column name for the META_DESCRIPTION field
+ */
+ const META_DESCRIPTION = 'folder_i18n.META_DESCRIPTION';
+
+ /**
+ * the column name for the META_KEYWORDS field
+ */
+ const META_KEYWORDS = 'folder_i18n.META_KEYWORDS';
+
/**
* The default string format for model objects of the related table
*/
@@ -111,12 +126,12 @@ class FolderI18nTableMap extends TableMap
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/
protected static $fieldNames = array (
- self::TYPE_PHPNAME => array('Id', 'Locale', 'Title', 'Description', 'Chapo', 'Postscriptum', ),
- self::TYPE_STUDLYPHPNAME => array('id', 'locale', 'title', 'description', 'chapo', 'postscriptum', ),
- self::TYPE_COLNAME => array(FolderI18nTableMap::ID, FolderI18nTableMap::LOCALE, FolderI18nTableMap::TITLE, FolderI18nTableMap::DESCRIPTION, FolderI18nTableMap::CHAPO, FolderI18nTableMap::POSTSCRIPTUM, ),
- self::TYPE_RAW_COLNAME => array('ID', 'LOCALE', 'TITLE', 'DESCRIPTION', 'CHAPO', 'POSTSCRIPTUM', ),
- self::TYPE_FIELDNAME => array('id', 'locale', 'title', 'description', 'chapo', 'postscriptum', ),
- self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, )
+ self::TYPE_PHPNAME => array('Id', 'Locale', 'Title', 'Description', 'Chapo', 'Postscriptum', 'MetaTitle', 'MetaDescription', 'MetaKeywords', ),
+ self::TYPE_STUDLYPHPNAME => array('id', 'locale', 'title', 'description', 'chapo', 'postscriptum', 'metaTitle', 'metaDescription', 'metaKeywords', ),
+ self::TYPE_COLNAME => array(FolderI18nTableMap::ID, FolderI18nTableMap::LOCALE, FolderI18nTableMap::TITLE, FolderI18nTableMap::DESCRIPTION, FolderI18nTableMap::CHAPO, FolderI18nTableMap::POSTSCRIPTUM, FolderI18nTableMap::META_TITLE, FolderI18nTableMap::META_DESCRIPTION, FolderI18nTableMap::META_KEYWORDS, ),
+ self::TYPE_RAW_COLNAME => array('ID', 'LOCALE', 'TITLE', 'DESCRIPTION', 'CHAPO', 'POSTSCRIPTUM', 'META_TITLE', 'META_DESCRIPTION', 'META_KEYWORDS', ),
+ self::TYPE_FIELDNAME => array('id', 'locale', 'title', 'description', 'chapo', 'postscriptum', 'meta_title', 'meta_description', 'meta_keywords', ),
+ self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, )
);
/**
@@ -126,12 +141,12 @@ class FolderI18nTableMap extends TableMap
* e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0
*/
protected static $fieldKeys = array (
- self::TYPE_PHPNAME => array('Id' => 0, 'Locale' => 1, 'Title' => 2, 'Description' => 3, 'Chapo' => 4, 'Postscriptum' => 5, ),
- self::TYPE_STUDLYPHPNAME => array('id' => 0, 'locale' => 1, 'title' => 2, 'description' => 3, 'chapo' => 4, 'postscriptum' => 5, ),
- self::TYPE_COLNAME => array(FolderI18nTableMap::ID => 0, FolderI18nTableMap::LOCALE => 1, FolderI18nTableMap::TITLE => 2, FolderI18nTableMap::DESCRIPTION => 3, FolderI18nTableMap::CHAPO => 4, FolderI18nTableMap::POSTSCRIPTUM => 5, ),
- self::TYPE_RAW_COLNAME => array('ID' => 0, 'LOCALE' => 1, 'TITLE' => 2, 'DESCRIPTION' => 3, 'CHAPO' => 4, 'POSTSCRIPTUM' => 5, ),
- self::TYPE_FIELDNAME => array('id' => 0, 'locale' => 1, 'title' => 2, 'description' => 3, 'chapo' => 4, 'postscriptum' => 5, ),
- self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, )
+ self::TYPE_PHPNAME => array('Id' => 0, 'Locale' => 1, 'Title' => 2, 'Description' => 3, 'Chapo' => 4, 'Postscriptum' => 5, 'MetaTitle' => 6, 'MetaDescription' => 7, 'MetaKeywords' => 8, ),
+ self::TYPE_STUDLYPHPNAME => array('id' => 0, 'locale' => 1, 'title' => 2, 'description' => 3, 'chapo' => 4, 'postscriptum' => 5, 'metaTitle' => 6, 'metaDescription' => 7, 'metaKeywords' => 8, ),
+ self::TYPE_COLNAME => array(FolderI18nTableMap::ID => 0, FolderI18nTableMap::LOCALE => 1, FolderI18nTableMap::TITLE => 2, FolderI18nTableMap::DESCRIPTION => 3, FolderI18nTableMap::CHAPO => 4, FolderI18nTableMap::POSTSCRIPTUM => 5, FolderI18nTableMap::META_TITLE => 6, FolderI18nTableMap::META_DESCRIPTION => 7, FolderI18nTableMap::META_KEYWORDS => 8, ),
+ self::TYPE_RAW_COLNAME => array('ID' => 0, 'LOCALE' => 1, 'TITLE' => 2, 'DESCRIPTION' => 3, 'CHAPO' => 4, 'POSTSCRIPTUM' => 5, 'META_TITLE' => 6, 'META_DESCRIPTION' => 7, 'META_KEYWORDS' => 8, ),
+ self::TYPE_FIELDNAME => array('id' => 0, 'locale' => 1, 'title' => 2, 'description' => 3, 'chapo' => 4, 'postscriptum' => 5, 'meta_title' => 6, 'meta_description' => 7, 'meta_keywords' => 8, ),
+ self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, )
);
/**
@@ -156,6 +171,9 @@ class FolderI18nTableMap extends TableMap
$this->addColumn('DESCRIPTION', 'Description', 'CLOB', false, null, null);
$this->addColumn('CHAPO', 'Chapo', 'LONGVARCHAR', false, null, null);
$this->addColumn('POSTSCRIPTUM', 'Postscriptum', 'LONGVARCHAR', false, null, null);
+ $this->addColumn('META_TITLE', 'MetaTitle', 'VARCHAR', false, 255, null);
+ $this->addColumn('META_DESCRIPTION', 'MetaDescription', 'LONGVARCHAR', false, null, null);
+ $this->addColumn('META_KEYWORDS', 'MetaKeywords', 'LONGVARCHAR', false, null, null);
} // initialize()
/**
@@ -359,6 +377,9 @@ class FolderI18nTableMap extends TableMap
$criteria->addSelectColumn(FolderI18nTableMap::DESCRIPTION);
$criteria->addSelectColumn(FolderI18nTableMap::CHAPO);
$criteria->addSelectColumn(FolderI18nTableMap::POSTSCRIPTUM);
+ $criteria->addSelectColumn(FolderI18nTableMap::META_TITLE);
+ $criteria->addSelectColumn(FolderI18nTableMap::META_DESCRIPTION);
+ $criteria->addSelectColumn(FolderI18nTableMap::META_KEYWORDS);
} else {
$criteria->addSelectColumn($alias . '.ID');
$criteria->addSelectColumn($alias . '.LOCALE');
@@ -366,6 +387,9 @@ class FolderI18nTableMap extends TableMap
$criteria->addSelectColumn($alias . '.DESCRIPTION');
$criteria->addSelectColumn($alias . '.CHAPO');
$criteria->addSelectColumn($alias . '.POSTSCRIPTUM');
+ $criteria->addSelectColumn($alias . '.META_TITLE');
+ $criteria->addSelectColumn($alias . '.META_DESCRIPTION');
+ $criteria->addSelectColumn($alias . '.META_KEYWORDS');
}
}
diff --git a/core/lib/Thelia/Model/Map/FolderTableMap.php b/core/lib/Thelia/Model/Map/FolderTableMap.php
index b35f63ae3..0346ee0d3 100644
--- a/core/lib/Thelia/Model/Map/FolderTableMap.php
+++ b/core/lib/Thelia/Model/Map/FolderTableMap.php
@@ -208,7 +208,7 @@ class FolderTableMap extends TableMap
{
return array(
'timestampable' => array('create_column' => 'created_at', 'update_column' => 'updated_at', ),
- 'i18n' => array('i18n_table' => '%TABLE%_i18n', 'i18n_phpname' => '%PHPNAME%I18n', 'i18n_columns' => 'title, description, chapo, postscriptum', 'locale_column' => 'locale', 'locale_length' => '5', 'default_locale' => '', 'locale_alias' => '', ),
+ 'i18n' => array('i18n_table' => '%TABLE%_i18n', 'i18n_phpname' => '%PHPNAME%I18n', 'i18n_columns' => 'title, description, chapo, postscriptum, meta_title, meta_description, meta_keywords', 'locale_column' => 'locale', 'locale_length' => '5', 'default_locale' => '', 'locale_alias' => '', ),
'versionable' => array('version_column' => 'version', 'version_table' => '', 'log_created_at' => 'true', 'log_created_by' => 'true', 'log_comment' => 'false', 'version_created_at_column' => 'version_created_at', 'version_created_by_column' => 'version_created_by', 'version_comment_column' => 'version_comment', ),
);
} // getBehaviors()
diff --git a/core/lib/Thelia/Model/Map/ProductI18nTableMap.php b/core/lib/Thelia/Model/Map/ProductI18nTableMap.php
index e082ebccb..1954654e8 100644
--- a/core/lib/Thelia/Model/Map/ProductI18nTableMap.php
+++ b/core/lib/Thelia/Model/Map/ProductI18nTableMap.php
@@ -110,9 +110,9 @@ class ProductI18nTableMap extends TableMap
const META_DESCRIPTION = 'product_i18n.META_DESCRIPTION';
/**
- * the column name for the META_KEYWORD field
+ * the column name for the META_KEYWORDS field
*/
- const META_KEYWORD = 'product_i18n.META_KEYWORD';
+ const META_KEYWORDS = 'product_i18n.META_KEYWORDS';
/**
* The default string format for model objects of the related table
@@ -126,11 +126,11 @@ class ProductI18nTableMap extends TableMap
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/
protected static $fieldNames = array (
- self::TYPE_PHPNAME => array('Id', 'Locale', 'Title', 'Description', 'Chapo', 'Postscriptum', 'MetaTitle', 'MetaDescription', 'MetaKeyword', ),
- self::TYPE_STUDLYPHPNAME => array('id', 'locale', 'title', 'description', 'chapo', 'postscriptum', 'metaTitle', 'metaDescription', 'metaKeyword', ),
- self::TYPE_COLNAME => array(ProductI18nTableMap::ID, ProductI18nTableMap::LOCALE, ProductI18nTableMap::TITLE, ProductI18nTableMap::DESCRIPTION, ProductI18nTableMap::CHAPO, ProductI18nTableMap::POSTSCRIPTUM, ProductI18nTableMap::META_TITLE, ProductI18nTableMap::META_DESCRIPTION, ProductI18nTableMap::META_KEYWORD, ),
- self::TYPE_RAW_COLNAME => array('ID', 'LOCALE', 'TITLE', 'DESCRIPTION', 'CHAPO', 'POSTSCRIPTUM', 'META_TITLE', 'META_DESCRIPTION', 'META_KEYWORD', ),
- self::TYPE_FIELDNAME => array('id', 'locale', 'title', 'description', 'chapo', 'postscriptum', 'meta_title', 'meta_description', 'meta_keyword', ),
+ self::TYPE_PHPNAME => array('Id', 'Locale', 'Title', 'Description', 'Chapo', 'Postscriptum', 'MetaTitle', 'MetaDescription', 'MetaKeywords', ),
+ self::TYPE_STUDLYPHPNAME => array('id', 'locale', 'title', 'description', 'chapo', 'postscriptum', 'metaTitle', 'metaDescription', 'metaKeywords', ),
+ self::TYPE_COLNAME => array(ProductI18nTableMap::ID, ProductI18nTableMap::LOCALE, ProductI18nTableMap::TITLE, ProductI18nTableMap::DESCRIPTION, ProductI18nTableMap::CHAPO, ProductI18nTableMap::POSTSCRIPTUM, ProductI18nTableMap::META_TITLE, ProductI18nTableMap::META_DESCRIPTION, ProductI18nTableMap::META_KEYWORDS, ),
+ self::TYPE_RAW_COLNAME => array('ID', 'LOCALE', 'TITLE', 'DESCRIPTION', 'CHAPO', 'POSTSCRIPTUM', 'META_TITLE', 'META_DESCRIPTION', 'META_KEYWORDS', ),
+ self::TYPE_FIELDNAME => array('id', 'locale', 'title', 'description', 'chapo', 'postscriptum', 'meta_title', 'meta_description', 'meta_keywords', ),
self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, )
);
@@ -141,11 +141,11 @@ class ProductI18nTableMap extends TableMap
* e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0
*/
protected static $fieldKeys = array (
- self::TYPE_PHPNAME => array('Id' => 0, 'Locale' => 1, 'Title' => 2, 'Description' => 3, 'Chapo' => 4, 'Postscriptum' => 5, 'MetaTitle' => 6, 'MetaDescription' => 7, 'MetaKeyword' => 8, ),
- self::TYPE_STUDLYPHPNAME => array('id' => 0, 'locale' => 1, 'title' => 2, 'description' => 3, 'chapo' => 4, 'postscriptum' => 5, 'metaTitle' => 6, 'metaDescription' => 7, 'metaKeyword' => 8, ),
- self::TYPE_COLNAME => array(ProductI18nTableMap::ID => 0, ProductI18nTableMap::LOCALE => 1, ProductI18nTableMap::TITLE => 2, ProductI18nTableMap::DESCRIPTION => 3, ProductI18nTableMap::CHAPO => 4, ProductI18nTableMap::POSTSCRIPTUM => 5, ProductI18nTableMap::META_TITLE => 6, ProductI18nTableMap::META_DESCRIPTION => 7, ProductI18nTableMap::META_KEYWORD => 8, ),
- self::TYPE_RAW_COLNAME => array('ID' => 0, 'LOCALE' => 1, 'TITLE' => 2, 'DESCRIPTION' => 3, 'CHAPO' => 4, 'POSTSCRIPTUM' => 5, 'META_TITLE' => 6, 'META_DESCRIPTION' => 7, 'META_KEYWORD' => 8, ),
- self::TYPE_FIELDNAME => array('id' => 0, 'locale' => 1, 'title' => 2, 'description' => 3, 'chapo' => 4, 'postscriptum' => 5, 'meta_title' => 6, 'meta_description' => 7, 'meta_keyword' => 8, ),
+ self::TYPE_PHPNAME => array('Id' => 0, 'Locale' => 1, 'Title' => 2, 'Description' => 3, 'Chapo' => 4, 'Postscriptum' => 5, 'MetaTitle' => 6, 'MetaDescription' => 7, 'MetaKeywords' => 8, ),
+ self::TYPE_STUDLYPHPNAME => array('id' => 0, 'locale' => 1, 'title' => 2, 'description' => 3, 'chapo' => 4, 'postscriptum' => 5, 'metaTitle' => 6, 'metaDescription' => 7, 'metaKeywords' => 8, ),
+ self::TYPE_COLNAME => array(ProductI18nTableMap::ID => 0, ProductI18nTableMap::LOCALE => 1, ProductI18nTableMap::TITLE => 2, ProductI18nTableMap::DESCRIPTION => 3, ProductI18nTableMap::CHAPO => 4, ProductI18nTableMap::POSTSCRIPTUM => 5, ProductI18nTableMap::META_TITLE => 6, ProductI18nTableMap::META_DESCRIPTION => 7, ProductI18nTableMap::META_KEYWORDS => 8, ),
+ self::TYPE_RAW_COLNAME => array('ID' => 0, 'LOCALE' => 1, 'TITLE' => 2, 'DESCRIPTION' => 3, 'CHAPO' => 4, 'POSTSCRIPTUM' => 5, 'META_TITLE' => 6, 'META_DESCRIPTION' => 7, 'META_KEYWORDS' => 8, ),
+ self::TYPE_FIELDNAME => array('id' => 0, 'locale' => 1, 'title' => 2, 'description' => 3, 'chapo' => 4, 'postscriptum' => 5, 'meta_title' => 6, 'meta_description' => 7, 'meta_keywords' => 8, ),
self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, )
);
@@ -173,7 +173,7 @@ class ProductI18nTableMap extends TableMap
$this->addColumn('POSTSCRIPTUM', 'Postscriptum', 'LONGVARCHAR', false, null, null);
$this->addColumn('META_TITLE', 'MetaTitle', 'VARCHAR', false, 255, null);
$this->addColumn('META_DESCRIPTION', 'MetaDescription', 'LONGVARCHAR', false, null, null);
- $this->addColumn('META_KEYWORD', 'MetaKeyword', 'LONGVARCHAR', false, null, null);
+ $this->addColumn('META_KEYWORDS', 'MetaKeywords', 'LONGVARCHAR', false, null, null);
} // initialize()
/**
@@ -379,7 +379,7 @@ class ProductI18nTableMap extends TableMap
$criteria->addSelectColumn(ProductI18nTableMap::POSTSCRIPTUM);
$criteria->addSelectColumn(ProductI18nTableMap::META_TITLE);
$criteria->addSelectColumn(ProductI18nTableMap::META_DESCRIPTION);
- $criteria->addSelectColumn(ProductI18nTableMap::META_KEYWORD);
+ $criteria->addSelectColumn(ProductI18nTableMap::META_KEYWORDS);
} else {
$criteria->addSelectColumn($alias . '.ID');
$criteria->addSelectColumn($alias . '.LOCALE');
@@ -389,7 +389,7 @@ class ProductI18nTableMap extends TableMap
$criteria->addSelectColumn($alias . '.POSTSCRIPTUM');
$criteria->addSelectColumn($alias . '.META_TITLE');
$criteria->addSelectColumn($alias . '.META_DESCRIPTION');
- $criteria->addSelectColumn($alias . '.META_KEYWORD');
+ $criteria->addSelectColumn($alias . '.META_KEYWORDS');
}
}
diff --git a/core/lib/Thelia/Model/Map/ProductTableMap.php b/core/lib/Thelia/Model/Map/ProductTableMap.php
index 3cf8d3925..35ce5c3b3 100644
--- a/core/lib/Thelia/Model/Map/ProductTableMap.php
+++ b/core/lib/Thelia/Model/Map/ProductTableMap.php
@@ -230,7 +230,7 @@ class ProductTableMap extends TableMap
{
return array(
'timestampable' => array('create_column' => 'created_at', 'update_column' => 'updated_at', ),
- 'i18n' => array('i18n_table' => '%TABLE%_i18n', 'i18n_phpname' => '%PHPNAME%I18n', 'i18n_columns' => 'title, description, chapo, postscriptum, meta_title, meta_description, meta_keyword', 'locale_column' => 'locale', 'locale_length' => '5', 'default_locale' => '', 'locale_alias' => '', ),
+ 'i18n' => array('i18n_table' => '%TABLE%_i18n', 'i18n_phpname' => '%PHPNAME%I18n', 'i18n_columns' => 'title, description, chapo, postscriptum, meta_title, meta_description, meta_keywords', 'locale_column' => 'locale', 'locale_length' => '5', 'default_locale' => '', 'locale_alias' => '', ),
'versionable' => array('version_column' => 'version', 'version_table' => '', 'log_created_at' => 'true', 'log_created_by' => 'true', 'log_comment' => 'false', 'version_created_at_column' => 'version_created_at', 'version_created_by_column' => 'version_created_by', 'version_comment_column' => 'version_comment', ),
);
} // getBehaviors()
diff --git a/core/lib/Thelia/Model/Tools/UrlRewritingTrait.php b/core/lib/Thelia/Model/Tools/UrlRewritingTrait.php
index acabbb51f..d8e699322 100644
--- a/core/lib/Thelia/Model/Tools/UrlRewritingTrait.php
+++ b/core/lib/Thelia/Model/Tools/UrlRewritingTrait.php
@@ -163,7 +163,7 @@ trait UrlRewritingTrait {
public function setRewrittenUrl($locale, $url)
{
$currentUrl = $this->getRewrittenUrl($locale);
- if($currentUrl == $url) {
+ if($currentUrl == $url || null === $url) {
/* no url update */
return $this;
}
diff --git a/core/lib/Thelia/Tests/Action/ContentTest.php b/core/lib/Thelia/Tests/Action/ContentTest.php
index a9b61e1db..8db9c08dc 100644
--- a/core/lib/Thelia/Tests/Action/ContentTest.php
+++ b/core/lib/Thelia/Tests/Action/ContentTest.php
@@ -44,7 +44,6 @@ use Thelia\Tests\TestCaseWithURLToolSetup;
*/
class ContentTest extends TestCaseWithURLToolSetup
{
- use RewrittenUrlTestTrait;
public function getUpdateEvent(&$content)
{
@@ -111,7 +110,6 @@ class ContentTest extends TestCaseWithURLToolSetup
->setChapo('test update content short description')
->setDescription('test update content description')
->setPostscriptum('test update content postscriptum')
- ->setUrl($content->getRewrittenUrl('en_US'))
->setDefaultFolder($folder->getId())
;
diff --git a/core/lib/Thelia/Tests/Action/FolderTest.php b/core/lib/Thelia/Tests/Action/FolderTest.php
index 7be726e4a..83eebc93c 100644
--- a/core/lib/Thelia/Tests/Action/FolderTest.php
+++ b/core/lib/Thelia/Tests/Action/FolderTest.php
@@ -22,6 +22,7 @@
/*************************************************************************************/
namespace Thelia\Tests\Action;
+
use Propel\Runtime\ActiveQuery\Criteria;
use Thelia\Action\Folder;
use Thelia\Core\Event\Folder\FolderCreateEvent;
@@ -29,6 +30,7 @@ use Thelia\Core\Event\Folder\FolderDeleteEvent;
use Thelia\Core\Event\Folder\FolderToggleVisibilityEvent;
use Thelia\Core\Event\Folder\FolderUpdateEvent;
use Thelia\Core\Event\UpdatePositionEvent;
+use Thelia\Core\Event\UpdateSeoEvent;
use Thelia\Model\FolderQuery;
use Thelia\Tests\TestCaseWithURLToolSetup;
@@ -61,6 +63,29 @@ class FolderTest extends TestCaseWithURLToolSetup
return $event;
}
+ public function getUpdateSeoEvent(&$folder)
+ {
+ if(!$folder instanceof \Thelia\Model\Folder) {
+ $folder = $this->getRandomFolder();
+ }
+
+ $event = new UpdateSeoEvent($folder->getId());
+
+ $event
+ ->setLocale($folder->getLocale())
+ ->setMetaTitle($folder->getMetaTitle())
+ ->setMetaDescription($folder->getMetaDescription())
+ ->setMetaKeywords($folder->getMetaKeywords());
+
+ return $event;
+ }
+
+ public function processUpdateSeoAction($event)
+ {
+ $contentAction = new Folder($this->getContainer());
+ return $contentAction->updateSeo($event);
+ }
+
public function processUpdateAction($event)
{
$contentAction = new Folder($this->getContainer());
@@ -113,7 +138,6 @@ class FolderTest extends TestCaseWithURLToolSetup
->setChapo('test folder update chapo')
->setDescription('update folder description')
->setPostscriptum('update folder postscriptum')
- ->setUrl($folder->getRewrittenUrl('en_US'))
->setParent(0)
;
diff --git a/core/lib/Thelia/Tests/Action/RewrittenUrlTestTrait.php b/core/lib/Thelia/Tests/Action/RewrittenUrlTestTrait.php
index 355248b57..8b5c30398 100644
--- a/core/lib/Thelia/Tests/Action/RewrittenUrlTestTrait.php
+++ b/core/lib/Thelia/Tests/Action/RewrittenUrlTestTrait.php
@@ -17,7 +17,9 @@ use Thelia\Rewriting\RewritingResolver;
trait RewrittenUrlTestTrait
{
abstract public function getUpdateEvent(&$object);
+ abstract public function getUpdateSeoEvent(&$object);
abstract public function processUpdateAction($event);
+ abstract public function processUpdateSeoAction($event);
/**
* @expectedException \Thelia\Form\Exception\FormValidationException
@@ -26,7 +28,7 @@ trait RewrittenUrlTestTrait
public function testUpdateExistingUrl()
{
$object = null;
- $event = $this->getUpdateEvent($object);
+ $event = $this->getUpdateSeoEvent($object);
/* get an existing url */
$existingUrl = RewritingUrlQuery::create()
@@ -41,13 +43,13 @@ trait RewrittenUrlTestTrait
$event->setUrl($existingUrl->getUrl());
- $this->processUpdateAction($event);
+ $this->processUpdateSeoAction($event);
}
public function testUpdateUrl()
{
$object = null;
- $event = $this->getUpdateEvent($object);
+ $event = $this->getUpdateSeoEvent($object);
$currentUrl = $object->getRewrittenUrl($object->getLocale());
@@ -69,7 +71,7 @@ trait RewrittenUrlTestTrait
$event->setUrl($newUrl);
- $updatedObject = $this->processUpdateAction($event);
+ $updatedObject = $this->processUpdateSeoAction($event);
/* new URL is updated */
$this->assertEquals($newUrl, $updatedObject->getRewrittenUrl($object->getLocale()));
diff --git a/install/thelia.sql b/install/thelia.sql
index b399c96d6..1d0ecfb63 100755
--- a/install/thelia.sql
+++ b/install/thelia.sql
@@ -1635,6 +1635,9 @@ CREATE TABLE `category_i18n`
`description` LONGTEXT,
`chapo` TEXT,
`postscriptum` TEXT,
+ `meta_title` VARCHAR(255),
+ `meta_description` TEXT,
+ `meta_keywords` TEXT,
PRIMARY KEY (`id`,`locale`),
CONSTRAINT `category_i18n_FK_1`
FOREIGN KEY (`id`)
@@ -1658,7 +1661,7 @@ CREATE TABLE `product_i18n`
`postscriptum` TEXT,
`meta_title` VARCHAR(255),
`meta_description` TEXT,
- `meta_keyword` TEXT,
+ `meta_keywords` TEXT,
PRIMARY KEY (`id`,`locale`),
CONSTRAINT `product_i18n_FK_1`
FOREIGN KEY (`id`)
@@ -1863,6 +1866,9 @@ CREATE TABLE `folder_i18n`
`description` LONGTEXT,
`chapo` TEXT,
`postscriptum` TEXT,
+ `meta_title` VARCHAR(255),
+ `meta_description` TEXT,
+ `meta_keywords` TEXT,
PRIMARY KEY (`id`,`locale`),
CONSTRAINT `folder_i18n_FK_1`
FOREIGN KEY (`id`)
@@ -1884,6 +1890,9 @@ CREATE TABLE `content_i18n`
`description` LONGTEXT,
`chapo` TEXT,
`postscriptum` TEXT,
+ `meta_title` VARCHAR(255),
+ `meta_description` TEXT,
+ `meta_keywords` TEXT,
PRIMARY KEY (`id`,`locale`),
CONSTRAINT `content_i18n_FK_1`
FOREIGN KEY (`id`)
diff --git a/local/config/schema.xml b/local/config/schema.xml
index 785483704..1613abafc 100755
--- a/local/config/schema.xml
+++ b/local/config/schema.xml
@@ -1,1271 +1,1280 @@
-
-