backend trasnlation in loops

This commit is contained in:
Etienne Roudeix
2013-08-26 12:38:23 +02:00
parent 3005a65463
commit 96b3de7c84
14 changed files with 69 additions and 26 deletions

View File

@@ -80,6 +80,7 @@ abstract class BaseLoop
Argument::createIntTypeArgument('offset', 0),
Argument::createIntTypeArgument('page'),
Argument::createIntTypeArgument('limit', PHP_INT_MAX),
Argument::createIntTypeArgument('backend_context', false),
);
}

View File

@@ -33,6 +33,7 @@ use Thelia\Core\Template\Loop\Argument\ArgumentCollection;
use Thelia\Core\Template\Loop\Argument\Argument;
use Thelia\Log\Tlog;
use Thelia\Model\Base\LangQuery;
use Thelia\Model\Tools\ModelCriteriaTools;
use Thelia\Model\Base\CategoryQuery;
@@ -66,6 +67,7 @@ class Attribute extends BaseLoop
Argument::createIntListTypeArgument('category'),
Argument::createBooleanOrBothTypeArgument('visible', 1),
Argument::createIntListTypeArgument('exclude'),
Argument::createIntTypeArgument('lang'),
new Argument(
'order',
new TypeCollection(
@@ -85,8 +87,18 @@ class Attribute extends BaseLoop
{
$search = AttributeQuery::create();
$backendContext = $this->getBackend_context();
$lang = $this->getLang();
$x = LangQuery::create()->findOneById($lang);
/* manage translations */
ModelCriteriaTools::getI18n($search, ConfigQuery::read("default_lang_without_translation", 1), $this->request->getSession()->getLocale());
if($backendContext) {
ModelCriteriaTools::getBackEndI18n($search, $lang === null ? $this->request->getSession()->getLocale() : $x);
} else {
ModelCriteriaTools::getI18n($search, ConfigQuery::read("default_lang_without_translation", 1), $this->request->getSession()->getLocale());
}
$id = $this->getId();

View File

@@ -59,6 +59,7 @@ class AttributeAvailability extends BaseLoop
Argument::createIntListTypeArgument('id'),
Argument::createIntListTypeArgument('attribute'),
Argument::createIntListTypeArgument('exclude'),
Argument::createIntTypeArgument('lang'),
new Argument(
'order',
new TypeCollection(

View File

@@ -77,6 +77,7 @@ class Category extends BaseLoop
Argument::createBooleanTypeArgument('current'),
Argument::createBooleanTypeArgument('not_empty', 0),
Argument::createBooleanOrBothTypeArgument('visible', 1),
Argument::createIntTypeArgument('lang'),
new Argument(
'order',
new TypeCollection(

View File

@@ -65,6 +65,7 @@ class Content extends BaseLoop
Argument::createBooleanTypeArgument('current_folder'),
Argument::createIntTypeArgument('depth', 1),
Argument::createBooleanOrBothTypeArgument('visible', 1),
Argument::createIntTypeArgument('lang'),
new Argument(
'order',
new TypeCollection(

View File

@@ -56,7 +56,8 @@ class Country extends BaseLoop
Argument::createIntListTypeArgument('id'),
Argument::createIntListTypeArgument('area'),
Argument::createBooleanTypeArgument('with_area'),
Argument::createIntListTypeArgument('exclude')
Argument::createIntListTypeArgument('exclude'),
Argument::createIntTypeArgument('lang')
);
}

View File

@@ -55,7 +55,8 @@ class Currency extends BaseLoop
return new ArgumentCollection(
Argument::createIntListTypeArgument('id'),
Argument::createIntListTypeArgument('exclude'),
Argument::createBooleanTypeArgument('default_only', false)
Argument::createBooleanTypeArgument('default_only', false),
Argument::createIntTypeArgument('lang')
);
}

View File

@@ -64,6 +64,7 @@ class Feature extends BaseLoop
Argument::createIntListTypeArgument('category'),
Argument::createBooleanOrBothTypeArgument('visible', 1),
Argument::createIntListTypeArgument('exclude'),
Argument::createIntTypeArgument('lang'),
new Argument(
'order',
new TypeCollection(

View File

@@ -57,6 +57,7 @@ class FeatureAvailability extends BaseLoop
Argument::createIntListTypeArgument('id'),
Argument::createIntListTypeArgument('feature'),
Argument::createIntListTypeArgument('exclude'),
Argument::createIntTypeArgument('lang'),
new Argument(
'order',
new TypeCollection(

View File

@@ -59,6 +59,7 @@ class Folder extends BaseLoop
Argument::createBooleanTypeArgument('current'),
Argument::createBooleanTypeArgument('not_empty', 0),
Argument::createBooleanOrBothTypeArgument('visible', 1),
Argument::createIntTypeArgument('lang'),
new Argument(
'order',
new TypeCollection(

View File

@@ -85,6 +85,7 @@ class Product extends BaseLoop
Argument::createBooleanTypeArgument('current_category'),
Argument::createIntTypeArgument('depth', 1),
Argument::createBooleanOrBothTypeArgument('visible', 1),
Argument::createIntTypeArgument('lang'),
new Argument(
'order',
new TypeCollection(

View File

@@ -53,7 +53,8 @@ class Title extends BaseLoop
protected function getArgDefinitions()
{
return new ArgumentCollection(
Argument::createIntListTypeArgument('id')
Argument::createIntListTypeArgument('id'),
Argument::createIntTypeArgument('lang')
);
}