x right to 7
feature filter in product loop
This commit is contained in:
0
core/lib/Thelia/Admin/Controller/SessionController.php
Normal file → Executable file
0
core/lib/Thelia/Admin/Controller/SessionController.php
Normal file → Executable file
0
core/lib/Thelia/Core/Event/CustomRefEvent.php
Normal file → Executable file
0
core/lib/Thelia/Core/Event/CustomRefEvent.php
Normal file → Executable file
0
core/lib/Thelia/Core/HttpFoundation/Request.php
Normal file → Executable file
0
core/lib/Thelia/Core/HttpFoundation/Request.php
Normal file → Executable file
0
core/lib/Thelia/Core/HttpFoundation/Session/Session.php
Normal file → Executable file
0
core/lib/Thelia/Core/HttpFoundation/Session/Session.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/Authentication/AuthenticationProviderInterface.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/Authentication/AuthenticationProviderInterface.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/Authentication/UsernamePasswordAuthenticator.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/Authentication/UsernamePasswordAuthenticator.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/Encoder/PasswordEncoderInterface.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/Encoder/PasswordEncoderInterface.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/Encoder/PasswordHashEncoder.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/Encoder/PasswordHashEncoder.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/Exception/AuthenticationTokenNotFoundException.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/Exception/AuthenticationTokenNotFoundException.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/Role/Role.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/Role/Role.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/Role/RoleInterface.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/Role/RoleInterface.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/SecurityManager.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/SecurityManager.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/Token/AbstractToken.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/Token/AbstractToken.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/Token/TokenInterface.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/Token/TokenInterface.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/Token/UsernamePasswordToken.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/Token/UsernamePasswordToken.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/User/AdminUserProvider.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/User/AdminUserProvider.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/User/CustomerUserProvider.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/User/CustomerUserProvider.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/User/UserInterface.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/User/UserInterface.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/User/UserProviderInterface.php
Normal file → Executable file
0
core/lib/Thelia/Core/Security/User/UserProviderInterface.php
Normal file → Executable file
0
core/lib/Thelia/Core/Template/Exception/ResourceNotFoundException.php
Normal file → Executable file
0
core/lib/Thelia/Core/Template/Exception/ResourceNotFoundException.php
Normal file → Executable file
0
core/lib/Thelia/Core/Template/Loop/Feed.php
Normal file → Executable file
0
core/lib/Thelia/Core/Template/Loop/Feed.php
Normal file → Executable file
@@ -319,65 +319,29 @@ class Product extends BaseLoop
|
||||
$feature_available = $this->getFeature_available();
|
||||
|
||||
if(null !== $feature_available) {
|
||||
//$search->joinFeatureProd('fa2', Criteria::LEFT_JOIN)->condition('foocond', '`fa2`.`product_id`=1')->setJoinCondition('fa2', 'foocond');
|
||||
//$search->joinFeatureProd('fa3', Criteria::LEFT_JOIN)->condition('foocond2', 'fa3.product_id=?', 2)->setJoinCondition('fa3', 'foocond2');
|
||||
|
||||
/* fonctionne mais pas avec ?
|
||||
$search->joinFeatureProd('fa3', Criteria::LEFT_JOIN)->addJoinCondition('fa3', "'fa3.PRODUCT_ID' = 4");
|
||||
$search->joinFeatureProd('fa2', Criteria::LEFT_JOIN)->addJoinCondition('fa2', "'fa2.PRODUCT_ID' = 3");
|
||||
*/
|
||||
|
||||
/* pas mieux
|
||||
$x = new Join(ProductTableMap::ID, FeatureProdTableMap::PRODUCT_ID, Criteria::LEFT_JOIN);
|
||||
$x->setRightTableAlias('fa0');
|
||||
$search->addJoinObject($x, 'fa0')->addJoinCondition('fa0', "PRODUCT_ID = ?", 0);
|
||||
*/
|
||||
|
||||
foreach($feature_available as $feature => $feature_choice) {
|
||||
foreach($feature_choice['values'] as $feature_av) {
|
||||
$featureAlias = 'fa_' . $feature . '_' . $feature_av;
|
||||
$featureAlias = 'fa_' . $feature;
|
||||
if($feature_av != '*')
|
||||
$featureAlias .= '_' . $feature_av;
|
||||
$search->joinFeatureProd($featureAlias, Criteria::LEFT_JOIN)
|
||||
->addJoinCondition($featureAlias, "`$featureAlias`.FEATURE_ID = ?", $feature, null, \PDO::PARAM_INT)
|
||||
->addJoinCondition($featureAlias, "`$featureAlias`.FEATURE_AV_ID = ?", $feature_av, null, \PDO::PARAM_INT);
|
||||
->addJoinCondition($featureAlias, "`$featureAlias`.FEATURE_ID = ?", $feature, null, \PDO::PARAM_INT);
|
||||
if($feature_av != '*')
|
||||
$search->addJoinCondition($featureAlias, "`$featureAlias`.FEATURE_AV_ID = ?", $feature_av, null, \PDO::PARAM_INT);
|
||||
}
|
||||
$bigDealFeatureWhereCondition = str_replace('&', ' AND ', $feature_choice['values']);
|
||||
|
||||
/* format for mysql */
|
||||
$sqlWhereString = $feature_choice['expression'];
|
||||
if($sqlWhereString == '*') {
|
||||
$sqlWhereString = 'NOT ISNULL(`fa_' . $feature . '`.ID)';
|
||||
} else {
|
||||
$sqlWhereString = preg_replace('#(^|[^0-9])([0-9]+)([^0-9]|$)#', '\1NOT ISNULL(`fa_' . $feature . '_' . '\2`.ID)\3', $sqlWhereString);
|
||||
$sqlWhereString = str_replace('&', ' AND ', $sqlWhereString);
|
||||
$sqlWhereString = str_replace('|', ' OR ', $sqlWhereString);
|
||||
}
|
||||
|
||||
$search->where($sqlWhereString);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* ne marche pas de cette façon :
|
||||
*
|
||||
*
|
||||
$search->filterByFeatureProd(
|
||||
FeatureProdQuery::create('fa')
|
||||
->filterByFeature(
|
||||
FeatureQuery::create('fq')
|
||||
->filterById(array(1,2,3), Criteria::IN)
|
||||
->find()
|
||||
)
|
||||
->filterByFeatureAv(
|
||||
FeatureAvQuery::create()
|
||||
->filterById(array(1,2,3), Criteria::IN)
|
||||
->find()
|
||||
)
|
||||
->find()
|
||||
);
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
CategoryQuery::create()->filterByProduct(
|
||||
ProductCategoryQuery::create()->filterByProductId(
|
||||
$this->request->get("product_id"),
|
||||
Criteria::EQUAL
|
||||
)->find(),
|
||||
Criteria::IN
|
||||
)->find(),
|
||||
Criteria::NOT_IN
|
||||
|
||||
*/
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -391,6 +355,8 @@ class Product extends BaseLoop
|
||||
(ConfigQuery::read("default_lang_without_translation", 1)) ? Criteria::LEFT_JOIN : Criteria::INNER_JOIN
|
||||
);
|
||||
|
||||
$search->groupBy(ProductTableMap::ID);
|
||||
|
||||
$products = $this->search($search, $pagination);
|
||||
|
||||
$loopResult = new LoopResult();
|
||||
|
||||
0
core/lib/Thelia/Core/Template/Smarty/Plugins/Form.php
Normal file → Executable file
0
core/lib/Thelia/Core/Template/Smarty/Plugins/Form.php
Normal file → Executable file
0
core/lib/Thelia/Core/Template/Smarty/Plugins/Security.php
Normal file → Executable file
0
core/lib/Thelia/Core/Template/Smarty/Plugins/Security.php
Normal file → Executable file
0
core/lib/Thelia/Core/Template/Smarty/Plugins/TheliaSyntax.php
Normal file → Executable file
0
core/lib/Thelia/Core/Template/Smarty/Plugins/TheliaSyntax.php
Normal file → Executable file
0
core/lib/Thelia/Form/AdminLogin.php
Normal file → Executable file
0
core/lib/Thelia/Form/AdminLogin.php
Normal file → Executable file
0
core/lib/Thelia/Form/BaseForm.php
Normal file → Executable file
0
core/lib/Thelia/Form/BaseForm.php
Normal file → Executable file
0
core/lib/Thelia/Form/CustomerCreation.php
Normal file → Executable file
0
core/lib/Thelia/Form/CustomerCreation.php
Normal file → Executable file
0
core/lib/Thelia/Form/CustomerModification.php
Normal file → Executable file
0
core/lib/Thelia/Form/CustomerModification.php
Normal file → Executable file
0
core/lib/Thelia/Model/Accessory.php
Normal file → Executable file
0
core/lib/Thelia/Model/Accessory.php
Normal file → Executable file
0
core/lib/Thelia/Model/AccessoryQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/AccessoryQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Address.php
Normal file → Executable file
0
core/lib/Thelia/Model/Address.php
Normal file → Executable file
0
core/lib/Thelia/Model/AddressQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/AddressQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Admin.php
Normal file → Executable file
0
core/lib/Thelia/Model/Admin.php
Normal file → Executable file
0
core/lib/Thelia/Model/AdminGroup.php
Normal file → Executable file
0
core/lib/Thelia/Model/AdminGroup.php
Normal file → Executable file
0
core/lib/Thelia/Model/AdminGroupQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/AdminGroupQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/AdminLog.php
Normal file → Executable file
0
core/lib/Thelia/Model/AdminLog.php
Normal file → Executable file
0
core/lib/Thelia/Model/AdminLogQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/AdminLogQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/AdminQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/AdminQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Area.php
Normal file → Executable file
0
core/lib/Thelia/Model/Area.php
Normal file → Executable file
0
core/lib/Thelia/Model/AreaQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/AreaQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Attribute.php
Normal file → Executable file
0
core/lib/Thelia/Model/Attribute.php
Normal file → Executable file
0
core/lib/Thelia/Model/AttributeAv.php
Normal file → Executable file
0
core/lib/Thelia/Model/AttributeAv.php
Normal file → Executable file
0
core/lib/Thelia/Model/AttributeAvI18n.php
Normal file → Executable file
0
core/lib/Thelia/Model/AttributeAvI18n.php
Normal file → Executable file
0
core/lib/Thelia/Model/AttributeAvI18nQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/AttributeAvI18nQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/AttributeAvQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/AttributeAvQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/AttributeCategory.php
Normal file → Executable file
0
core/lib/Thelia/Model/AttributeCategory.php
Normal file → Executable file
0
core/lib/Thelia/Model/AttributeCategoryQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/AttributeCategoryQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/AttributeCombination.php
Normal file → Executable file
0
core/lib/Thelia/Model/AttributeCombination.php
Normal file → Executable file
0
core/lib/Thelia/Model/AttributeCombinationQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/AttributeCombinationQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/AttributeI18n.php
Normal file → Executable file
0
core/lib/Thelia/Model/AttributeI18n.php
Normal file → Executable file
0
core/lib/Thelia/Model/AttributeI18nQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/AttributeI18nQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/AttributeQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/AttributeQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/Accessory.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/Accessory.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AccessoryQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AccessoryQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/Address.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/Address.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AddressQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AddressQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/Admin.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/Admin.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AdminGroup.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AdminGroup.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AdminGroupQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AdminGroupQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AdminLog.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AdminLog.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AdminLogQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AdminLogQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AdminQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AdminQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/Area.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/Area.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AreaQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AreaQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/Attribute.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/Attribute.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AttributeAv.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AttributeAv.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AttributeAvI18n.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AttributeAvI18n.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AttributeAvI18nQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AttributeAvI18nQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AttributeAvQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AttributeAvQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AttributeCategory.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AttributeCategory.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AttributeCategoryQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AttributeCategoryQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AttributeCombination.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AttributeCombination.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AttributeCombinationQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AttributeCombinationQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AttributeI18n.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AttributeI18n.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AttributeI18nQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AttributeI18nQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AttributeQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/AttributeQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/Category.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/Category.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/CategoryI18n.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/CategoryI18n.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/CategoryI18nQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/CategoryI18nQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/CategoryQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/CategoryQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/CategoryVersion.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/CategoryVersion.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/CategoryVersionQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/CategoryVersionQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/Combination.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/Combination.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/CombinationQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/CombinationQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/Config.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/Config.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ConfigI18n.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ConfigI18n.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ConfigI18nQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ConfigI18nQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ConfigQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ConfigQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/Content.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/Content.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ContentAssoc.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ContentAssoc.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ContentAssocQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ContentAssocQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ContentFolder.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ContentFolder.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ContentFolderQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ContentFolderQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ContentI18n.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ContentI18n.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ContentI18nQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ContentI18nQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ContentQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ContentQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ContentVersion.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ContentVersion.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ContentVersionQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/ContentVersionQuery.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/Country.php
Normal file → Executable file
0
core/lib/Thelia/Model/Base/Country.php
Normal file → Executable file
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user