Jump to content

Recommended Posts

Написал более 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}

но что-то мне подсказывает что это мега-костыль.

 

Варианты обхода:

  1. Слова "инверторный сварочный аппарат" можно запихнуть например в название товара - но не катит, ибо не православное seo получится и всё такое. К тому же нельзя будет вставлять отдельно от названия модели "Ресанта САИ-220".
  2. Как вариант зафигачить в админке дополнительное поле "ТИП ПРИБОРА" и хранить эту характеристику отдельно от свойств, но тоже как-то геморно, и лишнее время на заполнение.

Вообще насколько всё костыльно? 

Текста всё равно получилось более 9 строк.

 

Link to post
Share on other sites

По-моему, все у Вас сделано очень даже хорошо и правильно.

Можно, конечно, сделать немного рациональнее, но для этого надо приложить усилия. И экономия будет малюсенькая.

Не переживайте.

 

В Simpla есть и стандартные костыли, намного хуже:

http://simpla-tuning.com/sosednie-produkty---neratsionalno-do-krajnosti

Link to post
Share on other sites

Я бы на Вашем месте не писал такое в шаблонных файлах.

Для этого можно взять /view/ProductView.php и вместо этой строчки https://github.com/pikusov/Simpla/blob/master/view/ProductView.php#L176 можно сгенерировать свой тег meta_description

Link to post
Share on other sites

Я бы на Вашем месте не писал такое в шаблонных файлах.

Для этого можно взять /view/ProductView.php и вместо этой строчки https://github.com/pikusov/Simpla/blob/master/view/ProductView.php#L176 можно сгенерировать свой тег meta_description

И в чем особая разница?
Link to post
Share on other sites

Одна дает - другая дразнится. Вот в этом вся и разница)))

 

к примеру взять паттерн проектирования mvc, в случае выполнения какой-либо операции над объектом, контроллер не должен знать как именно выполнять эту операцию — это задача «М». В случае отображения объекта он не должен знать как именно отображать объект — это задача «V». По факту, контроллер должен просто взять нужный объект(ы), и сказать ему(им) что делать. Так вот,  класс ProductView, должен подготовить этот объект и отдать файлу представлению(в нашем случае index.tpl)

Link to post
Share on other sites

Теория Ваша хороша.

Если б Вы ее еще расписали применительно к конкретной ситуации - было б совсем чудно...

Пока даже не очень понятно по Вашей теории, что должен-то - то ли "просто взять нужный объект(ы), и сказать", то ли "должен подготовить этот объект и отдать"...

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...