yourock Posted November 17, 2015 Report Share Posted November 17, 2015 Написал более 9 строк текста. Ввиду того, что краткость сестра таланта, всё стёр и постараюсь кратко перефразировать. Как выдернуть из базы значение одной определенной характеристики? Поясню: генерирую налету meta_description прямо в шаблоне, и хочу чтобы мета-описание было такого вида: "Купить инверторный сварочный аппарат Ресанта САИ-220 с доставкой в Екатеринбурге. Отзывы о Ресанта САИ-220, лучший инверторный сварочный аппарат по лучшей цене, бесплатно без смс, нувыпонели." Слова "Ресанта САИ-220" - это название товара, тут всё ясно.Слова "инверторный сварочный аппарат" - это значение свойства "ТИП ПРИБОРА", которое я выдергиваю вот таким вот макаром (в index.tpl): {if $product->features} {foreach $product->features as $f} {if $f->name == "Тип прибора"}{$product_type = $f->value}{/if} {/foreach} {/if} но что-то мне подсказывает что это мега-костыль. Варианты обхода:Слова "инверторный сварочный аппарат" можно запихнуть например в название товара - но не катит, ибо не православное seo получится и всё такое. К тому же нельзя будет вставлять отдельно от названия модели "Ресанта САИ-220". Как вариант зафигачить в админке дополнительное поле "ТИП ПРИБОРА" и хранить эту характеристику отдельно от свойств, но тоже как-то геморно, и лишнее время на заполнение.Вообще насколько всё костыльно? Текста всё равно получилось более 9 строк. Quote Link to post Share on other sites
Kors Posted November 17, 2015 Report Share Posted November 17, 2015 По-моему, все у Вас сделано очень даже хорошо и правильно.Можно, конечно, сделать немного рациональнее, но для этого надо приложить усилия. И экономия будет малюсенькая.Не переживайте. В Simpla есть и стандартные костыли, намного хуже:http://simpla-tuning.com/sosednie-produkty---neratsionalno-do-krajnosti Quote Link to post Share on other sites
technokid Posted November 20, 2015 Report Share Posted November 20, 2015 Я бы на Вашем месте не писал такое в шаблонных файлах.Для этого можно взять /view/ProductView.php и вместо этой строчки https://github.com/pikusov/Simpla/blob/master/view/ProductView.php#L176 можно сгенерировать свой тег meta_description Quote Link to post Share on other sites
Kors Posted November 20, 2015 Report Share Posted November 20, 2015 Я бы на Вашем месте не писал такое в шаблонных файлах. Для этого можно взять /view/ProductView.php и вместо этой строчки https://github.com/pikusov/Simpla/blob/master/view/ProductView.php#L176 можно сгенерировать свой тег meta_descriptionИ в чем особая разница? Quote Link to post Share on other sites
technokid Posted November 20, 2015 Report Share Posted November 20, 2015 Одна дает - другая дразнится. Вот в этом вся и разница))) к примеру взять паттерн проектирования mvc, в случае выполнения какой-либо операции над объектом, контроллер не должен знать как именно выполнять эту операцию — это задача «М». В случае отображения объекта он не должен знать как именно отображать объект — это задача «V». По факту, контроллер должен просто взять нужный объект(ы), и сказать ему(им) что делать. Так вот, класс ProductView, должен подготовить этот объект и отдать файлу представлению(в нашем случае index.tpl) Quote Link to post Share on other sites
Kors Posted November 20, 2015 Report Share Posted November 20, 2015 Теория Ваша хороша. Если б Вы ее еще расписали применительно к конкретной ситуации - было б совсем чудно... Пока даже не очень понятно по Вашей теории, что должен-то - то ли "просто взять нужный объект(ы), и сказать", то ли "должен подготовить этот объект и отдать"... Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.