Предлагаемый проект - собрание доработок для CMS Simpla. Пользователи системы со стажем хорошо знают, что при всей простоте этой CMS (или по причине этой простоты) она зачастую не предоставляет всего нужного функционала. На форуме CMS также не всегда удается найти нужное.
Здесь представлено много разработок, в том числе и сложных. Для большинства имеются демо-версии. Смотрите, изучайте, выбирайте! Надеемся, что найдете для себя что-то полезное...
1. В админке создана страница список городов (регионов). У города задаются 1.1. Название с падежными вариантами (всего 6 шт) 1.2. поддомен (третий уровень) 1.3. Контакты - адрес и телефон. 2. Все поддомены должны быть созданы отдельно в панели хостинга или еще как-то. 3. Все региональные сайты работают на одной базе, одном шаблоне и выглядят одинаково, разница только в значениях п.1. 4. Отдельный учет к-ва товаров по городам НЕ ведется, все данные в одной базе. 5. В заказе добавляется новое поле, в котором хранится город, с домена которого сделан заказ. 6. На сайте можно выбрать город из списка городов во всплывающем окне. Но при таком изменении корзина, если была сформирована, теряется по техническим причинам (сессия привязана к домену). 7. В мета тегах разных сущностей (товары, категории и др.) можно вставлять шаблоны %city%, %city2%, %city3%, %city4%, %city5%, %city6%, которые будут заменяться на название города в соответствующем падеже. 8. В настройках добавлен выбор города по умолчанию. Проводится редирект с основного домена на поддомен по умолчанию.
1. В базе данных у каждого товара в одной из характеристик хранится дата последнего изменения товара в админке. При редактировании товара в админке значение автоматически меняется на текущую дату. 2. На главной странице добавлен блок Последние обновления, где выводить несколько товаров с самой свежей датой в значении этой характеристики.
Предлагается сравнительно простой по реализации вариант мультиязычности для Simpla. Сделано своеобразно, имеет некоторые особенности.
Работает следующими образом: 1. Поддерживается новая таблица - для языков. 2. Для каждого языка используются: 2.1 Отдельный шаблон (в начале копируется текущий, затем, естественно, редактируется), 2.2 Отдельные языковые таблицы со своим префиксом, например, lang3_categories, lang3_features, lang3_products. 3. Список языковых таблиц задается в файле конфигурации. 4. На витрине и в админке на всех страницах имеется переключатель языков - можно установить один из языков или выбрать вариант по умолчанию. 5. При установке языка происходит работа с языковыми таблицами выбранного языка и остальными неязыковыми таблицами как обычно. 6. В админке происходит одновременно редактирование только ОДНОЙ языковой версии каждого объекта (товар, категория). Для редактирования версии другого языка надо переключать язык. Например, на одной странице категории не задаются сразу несколько названий на разных языках. 7. Редактируется и показывается, таким образом, как версия для конкретного языка, так и версия по умолчанию. 8. Если администратор создает новый объект (товар, категория), то этот объект создается для всех языков (с одинаковыми данными). Для полного редактирования объекта надо переключаться на разные языки. 9. Импорт-экспорт и обмен с 1С работают отдельно в каждой языковой версии.
Некоторое неудобство редактирования, указанное в п.6 - следствие простоты разработки. Более удобная реализация потребует неизмеримо серьезных трудозатрат.
Настройки языковых таблиц позволяют реализовывать разные возможности. Например, таблицу брендов можно сделать как языковой - названия и прочие данные разные для разных языков, так и общей с одинаковыми данными для всех языков
Для SEO целей по сравнению с предыдущей версией добавлена отдельная адресация для разных языковых версий, адреса имеют вид site.com/products/product1 site.com/en/products/product1 site.com/ua/products/product1 Каждая языковая версия может работать из своего шаблона.
1. В настройках файла config.php добавлен параметр - Время действия кеша по умолчанию (минут). Если значение параметра больше 0, кешируется и кешированные значения используются в течение указанного срока. По окончании срока кш будет обновлен посредством реального запроса. Если значение параметра менее или равно 0, не кешируется
2. Кеширования производится избирательно, то есть для применения кеширования к отдельным запросам надо менять код PHP, вызывающий запрос. 3. Время действия кеша может устанавливаться иным для отдельных запросов в PHP-коде в виде дополнительного параметра в коде PHP. 4. В админке кеширование не используется.
Стандартный поиске на сайте проводится по названиям и метам товаров. Изменено, чтобы поиск находил дополнительно товары по названию бренда. Изменения касаются трех видов поиска на сайте: 1. обычный поиск (по ссылке keyword=some_word), 2. "живой" поиск, 3. поиск в админке на странице списка товаров.
Обычно в магазинах при проведении различных скидочных акций действует правило: если товар предлагается со скидкой, то вторая скидка к нему не применяется. В Simpla же стандартно работает так, что применяется как скидка, задаваемая через старую цену, так и скидка по купону.
Разработка изменяет расчет скидки по купону: при расчете купонной скидки не учитываются акционные товары (те, у которых уже есть скидка, заданная через старую цену). В корзине и заказе при расчете купонной скидки учитываются только неакционные товары, то есть те, у которых не задана старая цена.
Создавалось для версии 2.3.8. Скорее всего, годится и для других версий 2.x