werdy
08.Декабрь.2015 00:00:00
1
Подскажите пожалуйста, где можно немного изменить вывод артикула в карточке товара?
Вывод вот тут делается
{assign var="sku" value="sku_`$obj_id`"}
{$smarty.capture.$sku nofilter}
А где можно артикул перед выводом немного обработать? Ну там вырезать substr() "лишнюю" часть например.
Или как то получить переменную с его значением и там уже её обыграть.
1 лайк
Подскажите пожалуйста, где можно немного изменить вывод артикула в карточке товара?
Вывод вот тут делается
{assign var="sku" value="sku_`$obj_id`"}
{$smarty.capture.$sku nofilter}
А где можно артикул перед выводом немного обработать? Ну там вырезать substr() "лишнюю" часть например.
Или как то получить переменную с его значением и там уже её обыграть.
{assign var="sku" value="sku_`$obj_id`"}
{$smarty.capture.$sku|replace:'ЛИШНЯЯЧАСТЬ':'' nofilter}
Попробуйте
Главное, чтобы "ЛИШНЯЯЧАСТЬ" не совпала случайно с тегами HTML и порезала верстку. Так как {$smarty.capture.$sku} содержит не только просто артикул, но и весь кусок HTML кода для отображения артикула
werdy
09.Декабрь.2015 00:00:00
4
Спасибо, пробую.
в принципе если конкретно , то ситуация такая.
есть артикул чистый 33429-12 , я добавляю к нему код отдела для внутренних требований, так сказать, клиенту это не надо видеть.
В админке получатся так 33429-12 x250, то есть добавка два пробела, символ - x и далее сам код
То есть надо тупо отследить эту последовательность (два пробела и х) и вырезать их и все, что далее. при выводе на экран.
Помаракую с Вашей подсказкой..
пишу (пока дл пробы)
{$smarty.capture.$sku|replace:' x':'' nofilter}
А как сделать, чтобы не только x удалялось , но и все , что после?
А после х могут быть разные значения?
Спасибо, пробую.
в принципе если конкретно , то ситуация такая.
есть артикул чистый 33429-12 , я добавляю к нему код отдела для внутренних требований, так сказать, клиенту это не надо видеть.
В админке получатся так 33429-12 x250, то есть добавка два пробела, символ - x и далее сам код
То есть надо тупо отследить эту последовательность (два пробела и х) и вырезать их и все, что далее. при выводе на экран.
Помаракую с Вашей подсказкой..
Если последовательность может быть разная, то лучше это делать в php после выборки данных по продуктам из базы.
Например, используйте хуки в функции fn_gather_additional_product_data
Он всегда вызывается и на детальной карточке товара, и на списке продуктов
werdy
09.Декабрь.2015 00:00:00
7
Да последовательность посде х разная, но всегда три знака.
Пока решил вопрос так
|substr_replace:'':'-6'
(два пробела, х и три цифры
на выходных поищу, как это сделать "правильно", то есть при помощи совета
Например, используйте хуки в функции fn_gather_additional_product_data
буду вникать, может потом кому тоже прогожуся..
|substr_replace:'':'-6' тогда нужно применять в common/product_data.tpl, непосредстенно к {$product.product_code}. И сработает только, если длина постфикса действительно всегда 6.
Да последовательность посде х разная, но всегда три знака.
Пока решил вопрос так
|substr_replace:'':'-6'
(два пробела, х и три цифры
на выходных поищу, как это сделать "правильно", то есть при помощи совета
Например, используйте хуки в функции fn_gather_additional_product_data
буду вникать, может потом кому тоже прогожуся..
Будьте внимательны, в капче с артикулом могут быть закрывающие теги. В итоге может поехать верстка, перестать работать редактор тем и тп
В капче с артикулом вообще полно разных тегов.
В капче с артикулом вообще полно разных тегов.
Речь про последние 6 символов
Речь про последние 6 символов
Ну вот потому и пишу в #8 , что не к капче надо, а в самом common/product_data.tpl править.
Ну вот потому и пишу в #8 , что не к капче надо, а в самом common/product_data.tpl править.
В общем, распечатайте содержимое
{$smarty.capture.$sku|fn_print_r}
и посмотрите, что там в нем. Хотя бы еще длину добавьте. Например
{$smarty.capture.$sku|substr_replace:'':'-6':'-3'}
werdy
10.Декабрь.2015 00:00:00
14
Я вот так и поступил, заменил { $smarty . capture . $sku | fn_print_r } на {$product.product_code} и там вырезал 6 последних цифирь.
Длина всегда = 6.
не знаю правда , может что испортил?
А где вы это заменили? Если прямо вместо { $smarty . capture . $sku} используете {$product.product_code}, то вы выводите только сам артикул, без верстки-обертки (там несколько вложенных спанов). Не то чтобы в данном случае критично, но может выделяться стилем от остальных надписей на странице.
Я вот так и поступил, заменил {$smarty.capture.$sku|fn_print_r} на {$product.product_code} и там вырезал 6 последних цифирь.
Длина всегда = 6.
не знаю правда , может что испортил?
Все верно, я подумал, что вы из capture вырезаете
werdy
11.Декабрь.2015 00:00:00
17
да я сделал это в своем, так сказать, шаблоне карточки товара. Я все равно всю карточку переделал и стили там переписал.Все как в уроках. В responsive / templates / addons / my_changes / blocks / product_templates
Всем спасибо!