gsv1982 Posted November 17, 2012 Share Posted November 17, 2012 Создавал характеристики с цифрами впереди, чтобы потом отсортировать характеристики так как мне надо. Пример 1015.Страна производитель 1013.Гарантия. При выводе на страницу товара цифры убирались добавлением вот этого куска кода в /classes/product.php Это { if (!array_key_exists($id_product.'-'.$id_lang, self::$_frontFeaturesCache)) { self::$_frontFeaturesCache[$id_product.'-'.$id_lang] = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS(' SELECT name, value, pf.id_feature FROM '._DB_PREFIX_.'feature_product pf LEFT JOIN '._DB_PREFIX_.'feature_lang fl ON (fl.id_feature = pf.id_feature AND fl.id_lang = '.(int)$id_lang.') LEFT JOIN '._DB_PREFIX_.'feature_value_lang fvl ON (fvl.id_feature_value = pf.id_feature_value AND fvl.id_lang = '.(int)$id_lang.') WHERE pf.id_product = '.(int)$id_product); } return self::$_frontFeaturesCache[$id_product.'-'.$id_lang]; } Менял на это public static function getFrontFeaturesStatic($id_lang, $id_product) { if (!array_key_exists($id_product.'-'.$id_lang, self::$_frontFeaturesCache)) { self::$_frontFeaturesCache[$id_product.'-'.$id_lang] = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS(' SELECT name, value, pf.id_feature FROM '._DB_PREFIX_.'feature_product pf LEFT JOIN '._DB_PREFIX_.'feature_lang fl ON (fl.id_feature = pf.id_feature AND fl.id_lang = '.(int)$id_lang.') LEFT JOIN '._DB_PREFIX_.'feature_value_lang fvl ON (fvl.id_feature_value = pf.id_feature_value AND fvl.id_lang = '.(int)$id_lang.') WHERE pf.id_product = '.intval($id_product).' ORDER BY `name` ASC'); } $resultsArray = array(); foreach (self::$_frontFeaturesCache[$id_product.'-'.$id_lang] AS $row) { $row['name'] = preg_replace('/^[0-9]+\./', '', $row['name']); $resultsArray[] = $row; } return $resultsArray; } И при выводе характеристик цифр уже нет. А теперь вопрос, включил фильтр (модуль blocklayered) И при выводе характеристик, они выводятся с цифрами, как избавиться незнаю, уже неделю мучась и всё безтолку. Помогите. Link to comment Share on other sites More sharing options...
Kerm Posted November 18, 2012 Share Posted November 18, 2012 Можно попробовать str replace ждать чтобы убрать с переди нужное кол-во символов, можно тоже самое через смарти, а можно при помощи JavaScript...может еще в теге выводить цифры эти и в ксс все скрывать. Link to comment Share on other sites More sharing options...
Recommended Posts