Перейти к содержанию
Официальный форум поддержки Simpla

Рекомендуемые сообщения

Написал более 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 строк.

 

Ссылка на сообщение
Поделиться на другие сайты

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

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

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

 

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

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

Ссылка на сообщение
Поделиться на другие сайты

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

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

Ссылка на сообщение
Поделиться на другие сайты

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

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

И в чем особая разница?
Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...