Ответить Новая тема Новый опрос 
 Переключатель шаблонов
антон
Профессионал
Сообщений: 437
Откуда: Санкт-Петербург
Регистрация: 05-12-2009


28-07-2010 04:29
Возник такой вопрос. Есть ли возможность на престе сделать переключатель шаблонов? Например радиобатон, пользователь выбирает вариант шаблона и видит немного другой магазин. Именно шаблона, а не стилей css. Только css знаю как сделать.

Я так понимаю, что нужно ковырять settings.inc.php и добавлять туда условия, вот только какие?

Спасибо, если кто откликнется.
 



Интернет-магазин товаров для йоги yogastuff.ru.
Шаблоны на престу - демо
Ещё один магазин йоги namaskar108.ru
Йога в Москве yogadog.ru
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


28-07-2010 04:50
Сделать можно, но будет одна проблема это шаблоны модулей.
Придется переписать ключевые модули (homefeatured, blockcategories и тп.)
Расположив шаблоны модуля в поддиректориях модуля.

Пример:
/homefeatured
homefeatured.php
shab1/homefeatured.tpl
shab2/homefeatured.tpl

в homefeatured.php внести изменения:
Код:
return $this->display(__FILE__, _THEME_NAME_'/homefeatured.tpl');

и так далее.

в index.пхп добавить селект с спарсеным списком директории /themes/ (шаблонов).

На селект поставить:
  • Очищать /tools/smarty/compile/.
  • Изменить запись в /config/settings.inc.php на выбранную.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ors
Профессионал
Сообщений: 1885
Регистрация: 09-11-2009


28-07-2010 11:07
Лучше шаблоны модулей располагать в папке с темой. В некоторых модулях это уже сделано: если в папке с темой нет шаблона, то он ищетстя в папке модуля. Больгинство шаблонов не требуют изменения кода шаблонов модулей. Все решается через global.css.

Очищать /tools/smarty/compile/ не нужно. В кэше файлы идентифицируются по полному пути, поэтому для каждого шаблона будет свой файл.

Легче не изменить запись в /config/settings.inc.php, а просто переопределить константу.

Основная проблема в отображении и расположении блоков модулей. Их нужно настраивать для каждого шаблона (если только это не незначительная переделка стандартного)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
антон
Профессионал
Сообщений: 437
Откуда: Санкт-Петербург
Регистрация: 05-12-2009


28-07-2010 19:36
О.К спасибо огромное за советы и подсказки. Собственно чем вызван этот вопрос. У меня в магазине товары выводятся так http://www.yogastuff.ru/2-yoga-mats В скором времени планируется продажа мелким оптом и я хотел, чтобы для оптовых покупателей имелась возможность просматривать товары так http://www.yogastuff-opt.ru/2-yoga-mats (это тестовый оптовый магазин). То есть просто листинг товаров без возможности просмотра полного описания, зато с возможностью заказа прямо из листинга. Т.к. оптом продается не все, то соответственно шаблон product-list нужен другой. (там прописаны условия исходя из которых товары отображаются или нет).

Как вариант думал создать отдельную категорию с отдельным шаблоном привязанным к этой категории (это знаю как), в котором будет выводится ВСЕ товары магазина списком (это не понимаю). Но что-то не догоняю как это можно сделать? т.е что-бы не все товары подряд выводились отсортированные по цене, а как-бы прайс-лист с категориями и с возможностью заказа.

Например так: Категория - "товары оптом" - нажимаешь, а там уже в листинге все товары рассортированы так:

Коврики для йоги

товар 1
товар2
товар3

Чехлы и сумки

товар 1
товар2
товар3

и.т.д.

То есть грубо говоря, можно ли вывести сразу все товары во всех категориях??
Есть у вас какие мысли по этому поводу?
 



Интернет-магазин товаров для йоги yogastuff.ru.
Шаблоны на престу - демо
Ещё один магазин йоги namaskar108.ru
Йога в Москве yogadog.ru
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ors
Профессионал
Сообщений: 1885
Регистрация: 09-11-2009


28-07-2010 21:27
Можно создать отдельную категорию Все товары и добавить в нее все товары, но разбивки по категориям в этом случае не будет.

Кстати в тестовом магазине при выключенном js при попытке купить выдает ошибку. Видимо из-за того, что ссылки повреждены.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
антон
Профессионал
Сообщений: 437
Откуда: Санкт-Петербург
Регистрация: 05-12-2009


28-07-2010 21:58
Если добавить все товары в одну категорию, получится полная каша....
хотя если их там рассортировать как надо, то возможно и неплохое решение может получится...
Я думаю можно использовать неиспользуемые поля в карточке товара (ean13 или артикул поставщика), записать туда например для ковриков - 1, для чехлов - 2 и т.д. и потом для отдельной категории прописать по ним сортировку по умолчанию.
Тогда все должно быть красиво.
Попробую на тестовом..
 



Интернет-магазин товаров для йоги yogastuff.ru.
Шаблоны на престу - демо
Ещё один магазин йоги namaskar108.ru
Йога в Москве yogadog.ru
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
антон
Профессионал
Сообщений: 437
Откуда: Санкт-Петербург
Регистрация: 05-12-2009


29-07-2010 22:58
Вот что получилось http://www.yogastuff.ru/21-tovary-dlja-jogi-optom (рабочий магазин)
Пока что только в виде прайс-листа. Можно конечно прикрутить кнопку "в корзину", но тогда возникают сложности с группами аттрибутов товара. Если группа одна (например цвет), то без проблем, а если их две или больше, тогда уже сложнее. Например, если товар имеет 4 цвета и 4 размера, то в листинге он будет дублироваться 16 раз...
 



Интернет-магазин товаров для йоги yogastuff.ru.
Шаблоны на престу - демо
Ещё один магазин йоги namaskar108.ru
Йога в Москве yogadog.ru
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос