Перейти к содержимому


Фото
- - - - -

Лайфак: Каждому товару, категории или странице свой дизайн


  • Чтобы отвечать, сперва войдите на форум
10 ответов в теме

#1 Maksclub

Maksclub

    Помогаю с Симплой и c PHP

  • Фрилансер
  • 1 393 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 13.11.2016 - 13:57

Проблема:

Мне часто приходится делать разный дизайн товарам:

  • например обычный как у всех
  • промо или развернутый для определенных товаров — например в магазине шин для отельного бренда сделать развернутые страницы, с описанием преимуществ
  • лендинг для товара или категории

 

Решение:

Я понятия не имею, что делать в папках /view и /api, потому всегда использую стандартные возможности Симплы и шаблонов.

 

В Симпле у всех страниц есть поле мета-тега «Ключевые слова», по факту оно не нужно и поле оставляю пустым. Его и будем использовать.

 

1. Удаляем вывод этого поля в шаблоне

Строку
<meta name="keywords"    content="{$meta_keywords|escape}" />

заменяем на:
<meta name="keywords"    content="" />

 

2. Создаем шаблоны (на примере товаров) в папке /design/ваша_тема/html/:

  • product_default.tpl - для стандартного товара
  • product_promo.tpl - для своего, можно делать 2, 3, сколько угодно таких файлов

 

3. В product_default.tpl копируем наш код из product.tpl

 

4. В самом product.tpl заменяем весь код на этот:

{* Переключение шаблона
product_default.tpl - стандартный шаблон товара
product_promo.tpl - промо-шаблон
product_xxxx.tpl - любой другой шаблон
*}

{if $meta_keywords == 'Промо'}
    {include file='product_promo.tpl'}
{elseif $meta_keywords == 'xxxx'}
    {include file='product_xxxx.tpl'}
{else}
    {include file='product_default.tpl'}
 {/if}

Все, теперь в product_promo.tpl вы можете верстать любой свой дизайн, вплоть до того, что вообще сюда один сплошной ХТМЛ вставить.

 

5. Для удобства в самой админке:

  • В файле /simpla/design/html/product.tpl  заменим «Ключевые слова» на «Шаблон» (примерно 607 строка)
  • Отключим автозаполнение поля:
meta_keywords_touched = true;

заменим на:
meta_keywords_touched = false;
  • Можно удалить из импорта и экспорта заполнение поля. Или наоборот не отключайте, чтобы также управлять через импорт какому товару какой шаблон

 

6. Чтобы включить через админку новый шаблон, введите в поле «Шаблон» значение «Промо» (можете задать на шаге 4 любое значение) и сохранить.

 

Новы шаблон товара задан ваш.

 

 

Итог

Решение достаточно удобное для тех, кто уже модифицирует сам свой магазин, но не умеет программировать на достаточном уровне.

Можно проделать для страниц блога, категорий и товаров.

 

Создавайте красивые страницы с детальным и  интересным описанием, делайте им свой дизайн,

делайте лендинги для определенного товара с подключением к корзине магазина.


Изменено: Maksclub, 13.11.2016 - 14:41


#2 mishanya

mishanya
  • Фрилансер
  • 2 556 сообщений
  • Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Ukraine

Опубликовано 13.11.2016 - 14:30

тут ошибка

{if $meta_keywords == 1&$meta_keywords == 'Промо'}

и мне кажется легче добавить в вашем случае одно поле в базу. с названием шаблона.



#3 Maksclub

Maksclub

    Помогаю с Симплой и c PHP

  • Фрилансер
  • 1 393 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 13.11.2016 - 14:40

тут ошибка

{if $meta_keywords == 1&$meta_keywords == 'Промо'}

и мне кажется легче добавить в вашем случае одно поле в базу. с названием шаблона.

 

Спасибобо большое, исправил. Ну его как-то брать нужно. Я понятия не имею о работе сайта касательно папок /view и /api ;)


Изменено: Maksclub, 13.11.2016 - 14:40


#4 ABSORBER

ABSORBER
  • Модератор
  • 465 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Хабаровск

Опубликовано 13.11.2016 - 15:30

На самом деле ваше решение - полный костыль.

Как сказали выше, проще добавить 1 поле в БД для категорий товаров, товаров или страниц, и в ProductsView.php, productView.php 

 

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



#5 Maksclub

Maksclub

    Помогаю с Симплой и c PHP

  • Фрилансер
  • 1 393 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 13.11.2016 - 15:46

На самом деле ваше решение - полный костыль.

Как сказали выше, проще добавить 1 поле в БД для категорий товаров, товаров или страниц, и в ProductsView.php, productView.php 

 

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

 

Чтобы ваше решение заработало, нужно вам (программисту) написать, объяснить все, иногда заплатить.

Мое же решение — взял и сделал.

 

О качестве спорить конечно я не буду, я не болван.



#6 ABSORBER

ABSORBER
  • Модератор
  • 465 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Хабаровск

Опубликовано 13.11.2016 - 15:53

Чтобы ваше решение заработало, нужно вам (программисту) написать, объяснить все, иногда заплатить.

Мое же решение — взял и сделал.

 

О качестве спорить конечно я не буду, я не болван.

Всегда и везде нужно объяснять, особенно в разработке. 

Люди излагают по разному и из-за недопонимания между заказчиком и исполнителем могут быть ошибки в реализации. 

Причем это касается не только программистов! 

 

Не понимаю к чему вы вообще затронули разговор о программистах и оплате работы...



#7 Maksclub

Maksclub

    Помогаю с Симплой и c PHP

  • Фрилансер
  • 1 393 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 13.11.2016 - 15:56

Всегда и везде нужно объяснять, особенно в разработке. 

Люди излагают по разному и из-за недопонимания между заказчиком и исполнителем могут быть ошибки в реализации. 

Причем это касается не только программистов! 

 

Не понимаю к чему вы вообще затронули разговор о программистах и оплате работы...

 

Плохое, но готовое решение в рубрике «Готовое решение». Я им поделился, тк сам использую — работаю с шаблоном. БЫл проект, где делал около 20 шаблонов для лендингов, очень удобно мне было.


Изменено: Maksclub, 13.11.2016 - 15:56


#8 Maksclub

Maksclub

    Помогаю с Симплой и c PHP

  • Фрилансер
  • 1 393 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 13.11.2016 - 15:58

Не понимаю к чему вы вообще затронули разговор о программистах и оплате работы...

 

Я сравнил готовое решение и не готовое



#9 Kors

Kors
  • Фрилансер
  • 3 522 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Россия

Опубликовано 13.11.2016 - 17:00

На самом деле ваше решение - полный костыль.
Как сказали выше, проще добавить 1 поле в БД для категорий товаров, товаров или страниц, и в ProductsView.php, productView.php 
 
Могу сделать подробную инструкцию, если кому нибудь интересно.

 

Думаю, разрешение на это спрашивать не обязательно. Наверняка интересно будет многим, так как вопрос всплывает регулярно.


Такую инструкцию хорошо бы поместить в разделе
http://forum.simplac...сборник-уроков/

И даже надо бы несколько инструкций:
1. добавление нового поля для товаров (и тут несколько инструкций для разных типов полей - обычный инпут, текстовое поле, чекбокс). Еще интересно добавление более сложных полей, например, для новой группы связанных товаров или второй группы изображений...
2. добавление нового поля для вариантов (аналогично несколько инструкций по типу полей).

3. аналогично для других сущностей: бренды, категории, заказы...

 

Если Вы энтузиаст, то напишите хотя бы часть инструкций...



#10 yr4ik

yr4ik
  • Фрилансер
  • 896 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:Украина Чернигов

Опубликовано 14.11.2016 - 18:07

Спасибобо большое, исправил. Ну его как-то брать нужно. Я понятия не имею о работе сайта касательно папок /view и /api ;)

 

можешь так попробовать) 

http://forum.simplac...v15/#entry92231

 

Заменишь test_field на свое


Изменено: yr4ik, 14.11.2016 - 18:08


#11 Dmitry86

Dmitry86
  • Пользователь
  • 140 сообщений
  • Пользователь
  • Откуда:Мск

Опубликовано 25.11.2016 - 19:41

На самом деле ваше решение - полный костыль.

Как сказали выше, проще добавить 1 поле в БД для категорий товаров, товаров или страниц, и в ProductsView.php, productView.php 

 

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

Было бы интересно! Заранее спасибо)






0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых