HTML Верстальщику

В PHPShop используется собственный шаблонизатор, позволяющий создавать дизайн под любые задачи. Код PHP отделен от HTML кода шаблонов.

Структура файлов шаблона

🔦pageШпаргалка по шаблонам

Файлы шаблона сгруппированы в папки с именем шаблона в phpshop/templates/ и разделены на группы по имени применения:

  • main - общие макеты главной и внутренних страни

  • product - шаблоны товаров

  • catalog - шаблоны категорий

  • banner - шаблоны баннеров

  • news - шаблоны новостей

  • page - шаблоны страниц

  • selection - шаблоны фильтров товаров

  • users - шаблоны личного кабинета пользователей

  • order - шаблоны формы заказа

  • search - шаблоны поиск

  • gbook - шаблоны отзывов

  • map - шаблоны карты сайта

  • php - код расширений дизайн-хуков

  • images - картинки, использующиеся в шаблоне

  • style.css - главный файл CSS стилей шаблона

Макет главной и внутренних страниц

Шаблоны лежат в папке main, index.tpl - главная, shop.tpl - любая внутренняя, каталог, товар, страница. В shop.tpl метка @DispShop@ выводит внутреннее содержимое сайта, в зависимости от заданной страницы. Например, для каталога, @DispShop@ работает в шаблоне catalog/catalog_info_forma.tpl.

Редактирование карточки товара

Все шаблоны, связанные с выводом товаров, находятся в папке с именем product: phpshop/templates/имя шаблона/product/.

  • main_product_forma_1.tpl - вид краткого описания товара при выводе в 1 ячейку

  • main_product_forma_2.tpl - вид краткого описания товара при выводе в 2 ячейки

  • main_product_forma_3.tpl - вид краткого описания товара при выводе в 3 ячейки

  • main_product_forma_4.tpl - вид краткого описания товара при выводе в 4 ячейки

  • main_product_forma_full.tpl - вид подробного описания товара

  • product_page_list.tpl - вид списка товаров в формате сетки товаров

  • main_spec_forma_icon.tpl - вид краткого описания товара спецпредложений и новинок в боковой панеле

  • newtipIcon.tpl - вид лейбла новинок

  • specIcon.tpl - вид лейбла спецпредложений

  • product_odnotip_product_parent.tpl, product_odnotip_product_parent_one.tpl - вид подчиненных товаров

  • product_option_product.tpl - вид опций товара

Список меток

На примере шаблона UNIT. Для главной index.tpl:

@leftCatal@ - выпадающий список каталогов
@returncall@ - модуль Обратный звонок
@telNum@, @telNum2@ - телефоны из реквизитов
@wishlist@ - Отложенные
@numcompare@ - Сравнение
@num@, @sum@ - количество товаров на сумму
@productValutaName@ - валюта
@visualcart@ - модуль Брошенная корзина,  также выводит выпадающий список добавленных товаров
@usersDisp@ - личный кабинет
@topBrands@ - бренды, их выпадающий список в топ-меню
@topcatMenu@ - выводит в топ-меню ссылки на каталоги, отмеченные галкой "Главное меню"
@topMenu@ - страницы из папки Главное меню для топ-меню
@leftCatalTable@ - каталоги в виде плитки, с галкой "Плитка на главной"
@sticker_top@ - узкая горизонтальная полоска-баннер с возможностью скрытия, код полоски находится в модуле Стикеры.
@imageSlider@ - крутилка баннеров на главной
@specMain@ - блок Спецпредложения, выводит товары в рэндоме, отмеченные как Спец-я
@specMainIcon@ - блок Новинки, выводит товар в рэндоме, отмеченные как Новинки
@mainContentTitle@ - главный заголовок магазина, с тегом H1, из меню Страницы - Начальная страница
@mainContent@ - содержание Главной страницы
@nowBuy@ - вывод товаров Сейчас покупают, рэндомно из купленных товаров
@brandsList@ - логотипы брендов на главной 
@banersDispHorizontal@ - горизонтальный баннер
@company@, @year@, @adminMail@, @workingTime@, @streetAddress@ - из меню Настройка - Реквизиты
@button@ - модуль Кнопка
@bottomMenu@ - ссылки на страницы, отмеченные галкой "Главное меню в подвале"
@sticker_socfooter@ - модуль Стикеры, стикер иконок социальных сетей

Для всех внутренних shop.tpl

@pageTitl@ - Заголовок страницы
@pageDesc@ - мета-тег Description
@pageKeyw@ - мета-тег Keyword
@leftCatal@ - выпадающий список каталогов
@logo@ - логотип
@returncall@ - модуль Обратный звонок
@telNum@, @telNum2@ - телефоны
@wishlist@ - Отложенные 
@numcompare@ - Сравнение
@productValutaName@ - валюта
@visualcart@ - список положенных товаров в корзину
@usersDisp@ - личный кабинет 
@topBrands@ @topcatMenu@ @topMenu@ - выводят в мобильной версии шаблона, бренды, главное меню сайта, катлаоги для топ меню.
@banersDispHorizontal@ - горизонтальный баннер 
@sticker_top@ - стикер-полоска
@productDay@ - модуль Товар дня
@pageCatal@ - каталоги страниц (Это интересно)
@leftMenu@ - левый текстовый блок
@banersDisp@ - вертикальный баннер
@productlist_list@ - модуль Похожие товары Product List (вывод остальных товаров из текущего каталога)
@DispShop@ - вывод содержимого страницы,  в зависимости от раздела.
@getPhotos@ - фотогалерея
@productlastview_title@, @productlastview@ - модуль Product Last View, просмотренные товары
@productOdnotip@, @productOdnotipList@  - рекомендуемые товары для совместной продажи (выводятся в карточке товара)

Для каталога товаров https://myphpshop.ru/katalog1.html + подкаталогов https://myphpshop.ru/katalog1-podkatalog1.html работает шаблон catalog/catalog_info_forma.tpl

@breadCrumbs@ - навигация, хлебные крошки
@catalogName@ - название каталога
@catalogList - список каталогов

Для каталогов страниц https://myphpshop.ru/page/temy1.html и текстовых страниц - https://myphpshop.ru/page/statya2.html, работает единый шаблон phpshop/templates/имя_шаблона/page/page_page_list.tpl

@breadCrumbs@ - навигация, хлебные крошки
@pageTitle@ - название каталога/страницы/статьи
@catContent@ - вывод описания каталога
@pageContent@ - контент страницы
@pageLast@ - Интересно почитать

Стили CSS

CSS стили оформления размещаются в phpshop/templates/имя_шаблона/style.css. Цветовые темы стилей размещаются в phpshop/templates/имя_шаблона/css/ в файлах формата bootstrap-theme-цвет.css.

Создание нового шаблона

Редактировать файлы шаблонов *.tpl можно в любом текстовом редакторе, поддерживающий разметку HTML. Для создания собственного шаблона под именем "my_template" нужно проделать следующие шаги:

  • Берем за исходный шаблон с именем "bootstrap", расположенный в папке phpshop/templates/bootstrap

  • Копируем его в ту же папку phpshop/templates/, но под именем phpshop/templates/my_template

  • В панели управления Настройки - Основные выбираем шаблон с именем "my_template"

  • Основные файлы, которые нужно править:

    • phpshop/templates/my_template/index.tpl - вид первой страницы сайта (имя_сайта/)

    • phpshop/templates/my_template/shop.tpl - вид всех остальных страниц (имя_сайта/shop/, имя_сайта/news/ и т.д.)

  • Исходя из собственного дизайна, вносим изменения в верстку страницы phpshop/templates/my_template/index.tpl.

  • После внесения изменений нужно нажать клавишу F5 для перезагрузки браузера.

  • Такие же манипуляции проводим с файлом внутренних страниц phpshop/templates/my_template/shop.tpl

  • Изображения для шаблона хранятся в папке phpshop/templates/my_template/images

    • phpshop/templates/my_template/images - персональные изображения для шаблона

    • phpshop/templates/my_template/images/shop - изображения для закрытых от редактирования функций.

Путь к изображению должен иметь вид:

<img src="imagеs/my_pic.jpg" alt="Картинка">

При выводе дизайна, скрипт заменяет адрес imаges/my_pic.jpg на images/my_pic.jpg, что делает шаблон независимым от своего имени и расположения. Важно знать, что все вхождения пути imаges будут в дизайне и в скрипте заменены на images/. Особенно это правило нужно учитывать при создании раздела "Полезные ссылки", где прописываются коды кнопок-ссылок.

Имена изображений должны носить латинское название и не содержать пробелов:

  • картинка.jpg - не правильно

  • my img.jpg - не правильно

  • my_img.jpg - верно

Редактор шаблонов

Для редактирования дизайна из панели управления используется функция редактора в меню Настройки - Шаблоны дизайна. Он позволяет быстро находить нужный шаблон и подсвечивать переменные, доступные в нем. Для ознакомления со всеми возможностями редактора шаблонов следует запустить режим Обучение в выпадающем меню . Для перехода в продвинутый режим правки шаблонов с возможностью отображения реальных имен файлов служит опция "Расширенный режим".

Шаблон внешнего вида главной страницы находится в каталоге Основное - Главная страница, а всех остальных внутренних в Основное - Другие страницы. В эти 2 файла вносятся html-коды проверки сайта для Яндекса и Google, всевозможные счетчики и рейтинги. Правка остальных файлов шаблонов обычно не требуется.

Расширенный режим

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

Перезагрузка шаблона

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

Внимание, при переустановке шаблона все ваши правки в этом шаблоне будут удалены.

Отладка шаблона

Для перехода в режим отладки шаблона следует в режиме правки шаблона кликнуть по одноименной кнопке. В режиме отладки подсвечиваются пунктирной линией участки кода, сформированные шаблонизатором. При наведении мышкой на такой элемент появляется подсказка Показать [Ctrl + ↵] с возможностью перехода в нужный файл шаблона по сочетанию клавиш Ctrl и Ввод, или Ctrl и клик мышкой. Переход происходит во внутренний редактор шаблонов в панели управления. Отладка позволяет быстро найти нужный шаблон и отредактировать его.

На mac os функция [Ctrl + ↵] работает только в браузере Firefox. В Сhrome, Safari не срабатывает переход.

Схема шаблона

Интерактивная схема шаблона доступна в разделе Настройки - Шаблоны дизайна - Имя шаблона и предназначена для быстрого визуального восприятия шаблона и возможности быстро найти нужный элемент в нем. При наведении на каждый элемент показывается подсказка с описанием функции и ссылкой на редактирование файла в html редакторе.

Формы почтовых сообщений

Файл

Назначение

phpshop/lib/templates/order/usermail.tpl

Почтовая форма сообщения покупателю о заказе

phpshop/lib/templates/order/adminmail.tpl

Почтовая форма сообщения администратору о заказе

phpshop/lib/template/users/mail_admin_activation.tpl

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

phpshop/lib/template/users/mail_admin_message.tpl

Почтовая форма сообщения администратору от пользователя из личного кабинета

phpshop/lib/templates/users/mail_notice_add.tpl

Почтовая форма заявки об уведомлении товара администратору

phpshop/lib/templates/users/mail_pricemail.tpl

Почтовая форма сообщения администратору о меньшей цене от пользователя

phpshop/lib/templates/users/mail_sendpassword.tpl

Почтовая форма сообщения пользователю восстановления пароля

phpshop/lib/templates/users/mail_user_activation.tpl

Почтовая форма сообщения пользователю активации

phpshop/lib/templates/users/mail_user_register_success.tpl

Почтовая форма сообщения пользователю об удачной регистрации

phpshop/lib/templates/order/status.tpl

Почтовая форма сообщения пользователю о смене статуса заказа

Формы печатных бланков

ФайлНазначение

phpshop/lib/templates/print/account.tpl

Печатная форма счета на оплату

phpshop/lib/templates/print/cart.tpl

Печатная форма предварительного заказа в корзине

phpshop/lib/templates/print/price.tpl

Печатная форма прайс-листа

phpshop/lib/templates/print/receipt.tpl

Печатная форма квитанция Сбербанка

phpshop/admpanel/order/forms/invoice.php

Печатная форма счета-фактуры

phpshop/admpanel/order/forms/order.php

Печатная форма бланка заказа

phpshop/admpanel/order/forms/receipt.php

Печатная форма товарного чека

phpshop/admpanel/order/forms/torg-12.php

Печатная форма ТОРГ-12

phpshop/admpanel/order/forms/warranty.php

Печатная форма гарантийного обязательства

Изменение языкового файла

Все надписи в шаблонах имеют вид {строка} и перед выводом проходят обработку через библиотеку локализации. Вывод данных зависит от выбора языка в настройках дизайна.

Для удобной правки языковых переменных можно использовать раздел Локализация

Например, если стоит язык по умолчанию русский, то файл перевода внешней части витрины находится по ссылке: /phpshop/locale/russian/shop.ini, а внутренней панели управления: /phpshop/locale/russian/admin.ini

[charset]
html="windows-1251";
code="ru";

[lang]
error_page = "Страница не найдена";
load = "Загрузить файл";
error_login = "Некорректный логин";
cart_minimum = "Сумма в корзине должна быть не менее";
product_notice = "Уведомить";
product_on_sklad = "В наличии:";
product_on_sklad_i = "шт.";
page_product = "Тематические товары";
product_page = "Статьи по теме";
sklad_no = "Нет в наличии";
sklad_mesage = "Нет в наличии";
catalog = "Каталог";
search = "Поиск товаров";
basket = "Корзина покупок";
newprod = "Новинки";
newprice = "Распродажа";
specprod = "Спецпредложения";
newssite = "Свежие новости";
resseler = "Рассылка новостей";
resseler_ok = "Подписаться";
cart_tovar_now = "Товаров";
cart_summa_now = "Сумма";
cart_order_now = "Оформить покупку";
search_ok = "Искать";
search_do = "Я ищу";
product_sale = "В корзину";
productSale = "В корзину";
product_back = "Вернуться";
product_info = "Подробно";
productInfo = "Подробно";
found_of_products = "Позиций";
found_of_catalogs = "Каталогов";
row_on_page = "позиций на странице";
page_now = "Страница";
news = "Новости";
gbook = "Отзывы";
baner_title = "Реклама";
parent = "Модельный ряд";
good_order_mesage_1 = "Спасибо, ваш заказ успешно оформлен!";
good_order_mesage_2 = "Спасибо, наши менеджеры свяжутся с вами!";
bad_order_mesage_1 = "Ошибка заполнения формы";
bad_order_mesage_2 = "Для оформления заказа, положите что-нибудь в корзину.";
bad_cart_1 = "Ваша корзина пуста";
bad_news_mesage_1 = "Ваш адрес уже есть в списке рассылки.";
good_news_mesage_2 = "Спасибо за проявленный интерес!";
bad_news_mesage_2 = "Ваш адрес удален из списка рассылки.";
good_news_mesage_1 = "Ваш адрес добавлен в список рассылки.";
bad_news_mesage_3 = "Ошибка заполнения формы";
good_opros_mesage_1 = "Спасибо, ваш голос учтен.";
good_opros_mesage_2 = "Спасибо за проявленный интерес!";
bad_opros_mesage_1 = "Ваш голос уже был учтен в опросе.";
bad_opros_mesage_2 = "Спасибо за проявленный интерес.";
good_payment_mesage_1 = "Спасибо, ваш заказ успешно оплачен.";
good_payment_mesage_2 = "Спасибо, наши менеджеры свяжутся с вами.";
good_message_mesage_1 = "Спасибо, Ваше сообщение успешно отправлено.";
tagcloud_name = "Облако тегов";
sort_reset = "Сбросить";
sort_title = "Фильтр товаров";
sort_apply = "Применить";
nav_back = "Назад";
nav_forw = "Вперед";
search_all_cat = "Все каталоги";
search_select_cat = "Выберите каталог";
price_title = "Прайс-лист";
order_title = "Оформление заказа";
order_return = "Вернуться к оформлению покупки";
mail_title_adm = "Поступил заказ №";
mail_title_user_start = "Ваш заказ №";
mail_title_user_end = " успешно оформлен";
user_register_title = "Регистрация нового пользователя";
user_info_title = "Персональные данные";
user_order_title = "Контроль заказов";
empty_product_list = "Извините, товаров выбранного типа сегодня нет в продаже";
sms_user = "Новый статус Вашего заказа №";
error_key = "Некорректный ключ";
error_id = "Пользователь с таким e-mail уже существует";
error_password = "Пароли не совпадают";
error_password_hack = "Некорректный пароль";
error_mail = "Некорректный e-mail";
error_name = "Некорректное имя";
done = "Данные изменены";
activation_title = "Активация регистрации пользователя";
activation_admin_title = "Активация регистрации пользователя";
order_info = "Информация о заказе №";
order_table_title_1 = "№ Заказа";
order_table_title_2 = "Дата";
order_table_title_3 = "Кол-во";
order_table_title_4 = "Скидка  %";
order_table_title_5 = "Сумма";
order_table_title_6 = "Статус";
user = "Авторизованный пользователь";
product_select = "Выбрать";
returncall_done = "Заявка на обратный звонок принята";
returncall_error = "Ошибка заполнения обязательных полей";
visualcart_empty = "Ваша корзина пуста";
oneclick_done = "Заявка принята";
oneclick_error = "Ошибка заполнения обязательных полей";
productSaleReady = "В корзине";
error_register = "Для защиты от автоматических регистраций добавьте пожалуйста сначала товар в корзину";
productBestPrice = "Пожаловаться на цену";
rule = "Я согласен(а) на обработку моих персональных данных";
select_size = "Не выбраны дополнительные параметры товара";
now_buying = "Сейчас покупают";

[locale]
3fe869f08d8068d956d50848031797bc = "Блог";
5ffde7006635ff27cf0940b23baac2ed = "Новости";
5cc379d72e9e343fc84e2d4359e4efe2 = "Отзывы"
f2b69249911f429ec93c82d8dbd66aa2 = "Прайс-лист";
8d6602ff28091c5f5d1d31341f5cc414 = "Форма связи";
0e5d1e7ee3aa8a604dc522ac4a03ece8 = "Спецпредложения";
b03fc6783ccbcdf089bb8b8cc8a07254 = "Новинки каталога";
30941e4ec3f3ec344778d9d2a2085cc5 = "Сейчас покупают";
1b47f2846c12017f2db5228a92b6d89f = "Хит продаж";
42409529c214594f2b3cf2a3bfd5d96f = "Рекомендуемые товары";
eaecd71a2a727817f9d63de5e4686141="Сменить дизайн";
acd7a6d2ad7891f7a290628999fc760e="Имя";
ee3ab7a16dd63e24e0ed64ae3e9b2a03="Телефон";
cc75c253a99b7846221e2c899dce2bf1="Сообщение";
85477abab49645f4445eaa659820ab0b="Заказать звонок";
3bb42e6d935cdf23bd70bd44d50983e7="Время звонка";
8d1a3755ea7bb3e77fe53572d2f95933="Я согласен";
e81657793b7a9a981136ef6ead80c043="на обработку моих персональных данных";
229a04475477991e8fb739e393452e54="Закрыть";
9a4ac4e3e7d3b8594b90335c1353c889="Оформить заказ";
5a27043e9c7ccd9396c3e0b3f7d3919f="от";
65e988f6b937f00dfef9fbfc8036725f="Хит";
1cbc03fe4d929bd1403e867ca232c0f0="Новинка";
ac56794320f7be6f40019078ae089864="Выбрать";
b39335176f57db1693abbde83d5e104f="Купить";
ae9373e915132607c06ca48384e95bab="Отложить";
f651b44f03aa8cef15de6f0bd886dcba="Сравнить";
55036ab7b01fab4e1202c80bfefefcea="Темы";
237e931c3b964ee908ec9e6197e6bdb8="Стили";
abde41c23647ce0a64701f0e9980ddec="Вы можете управлять содержанием текущей страницы";
87ec745350ea3d832e27055b7b803ce8="Оформление";
eaa40ea718cd03209e84870c0e8cc37e="Управление";
24574c96530f0851a54e824acfa67385="Панель оформления";
79b92e7465832374cf1258e0894d0944="Панель управления";
9e68997d1050fd9a374a90795b36baf8="Бренды";
70887d5ab3c774f41679a2e1a2a8cfd2="Заказы";
de38f33db75ebb7b0c9b38cd2a24e689="Регистрация";
7c06815a77f5ad89a391813884a53f84="Отложенные";
0abe88311acb527e0451dd9302e82248="шт.";
1bebf441351da82c3a3da011db627d84="Кто-то купил";
174ecc373dca11c3c53455c22bbbbc2f="Главное меню";
5c369a7c4235360e91f7b6345ff0fd7f="Назад";
36f7850d5eba274eb5fbaac6ada1c2f6="В сравнении";
3058a5b8152feda8547f91670dd6f7b8="Искать";
5232152768cbe2caa3567ffb89b30465="Новинки";
058a22ae6196b322b952c822f3a2b1f3="Распродажа";
451642760c483f77b255199eda2176a7="Весь каталог";
e8ffd7b818ee21427a8bfd35eff7d0d0="Отложенные товары";
09678ef47426f76995cd59ee74a4deba="тов.";
aad474dbb80fe8d6f9d7ac9337957079="на сумму";
4bdaa418e6539f878fe41a7e163930de="Контакты";
41be2c2da2ece57deb1cab0bcf099e60="Мой кабинет";
fad37e4439edaf3fd9d763b12493c524="Отследить заказ";
7e4ab2a8c9560c05edf24ead874b189a="Меню";
b473a6802a023da950c372aaf837eaf1="Карта сайта";
11f10d4739feac218f91e54185bbc4bb="Информация";
1c3574607acddf37dbf413413e894ef0="Хиты продаж";
e60e5f6377ac9b1aa5367efd503a1680="Главная";
3b0a997ae90770e1ea3232638d529487="Для управления текущей страницей требуется";
72e15aeaf4c07dfde8c418a97f31ccc1="авторизироваться";
a8a1ec2a8bf1dd48d751b4cdeede5a13="Все позиции";
75c8d98fc932e8d09802166bc321aa2b="Следующая";
f82f3fd811c1f529e5f0a80555d697ae="Цена";
c95647ecc3ee4287bd676d80b740e3e4="Загрузка";
9548fd1bdd5ffd85e53705e2d7a16c86="Сбросить фильтр";
771cfbd2eefd9c7cdf0cf3d0b3e8575b="Применить";
0db4bf7e788531bde13cafd8b8685f13="Товары списком";
bd4ab78e496bb0a7b8af09c239c8e7a3="Товары сеткой";
768e72d4667c8135b19af4db224bd8e2="По умолчанию";
5da900df25f3a46fcc924e50c7620120="Наименование";
3076b249b1f9a73d0cf9d91649089e28="По возрастанию";
0f58769276e4955a9656b2f152f71ac2="По убыванию";
454e9821e2d5e6e9ef5cc664e53c5e68="Согласие на обработку персональных данных";
726f15961bbf49fa6493dad03b076b85="Войти";
90724041d6dde0799a73785d67251d69="В наличии";
ffb7e9bf37cef6b992dd36dfff24a823="Вывод товаров";
6df06a46e1bcc21bb2d2724b97a3adf2="Сортировка";
a3d32f227a20df02170284945fe15fdf="Увеличить размер";
c2d260ad214c9495964cc3194e3d5e7c="Найти файл";
0796b9c35681f8e757474431753f55eb="Выбрать файл";
709205c83d4cc969f5195340df53e8d1="Уведомить";
564fe2514839404d739522178b82939e=" заказать звонок";
84220f2c1c6e8b49e06ddd64228758f6="отложить";
1f9b59f5380e26df0654a64a18bb80d7="Ошибка";
1d251775687d3b28424a07c7681a2f97="Возможные причины";
999be14c2625e84508c136bdd3957f73="Страница доступна только для авторизованных пользователей";
d4b4b2ec6a657058c625c80657084e06="Ссылка набрана неправильно";
f6e7489d11c34bc62df98bae3e24ab15="Ссылка, из поисковой машины или с сайта, устарела";
4d4190e857d10f041402bc170091e462="Страница удалена или перемещена администратором";
86f21d8fa13d9dec960d08414e109c00="Что делать";
8928c618b606ccd0d0771a1fce71dd53="Пройти";
916481e76d49088aced749c124dcc63f="авторизацию";
3b4c91b1eb7aca62c7760c970b241839="Проверьте, правильно ли набран адрес";
015a2ec09578687897f83428d646011b="Воспользуйтесь";
74c4c9c1dd3cd88da8b1e92c99bd3e06="поиском по сайту";
66cca608869ae4ec5403ac12247e1b16="Обратитесь к администратору";
e9b151710a9af671f4af123aa0af5b73="Личный кабинет";
b65f0eb007358c08c4ae3e05c8886d5f="Нет файлов";
58eecbbb438524c24ce10af8cf2ff8fc="Просмотренные товары";
619efaa75b8898d5b6961ff4e2f95e58="Артикул";
5a117d9f2eb75cb252275bed9acb7209="Быстрый заказ";
8a2bd2028a5d560daf44a87289f40c77="Купить в 1 клик";
26807851b93208b51e6a12538d0ad9fe="Задать вопрос по продукту";
30e1c2dba57419d553af1355ef2d052c="Товар под заказ";
7a1db756da1fb9d0b48b392bc213a0e6="Описание";
6f708305dfc774268cae9bec9042d97a="Характеристики";
ab5093ca0146d9f4448e2e1c3f0b6151="Файлы";
6652fc65366cfbb374f3a41c0761ac49="Статьи";
7688f5685f7701e97daa5497d3d9c745="Оставьте свой отзыв";
5365aeb49659618246e06f111524f8f8="Проголосовать";
f57a7db9f55a09a66418ee359536126b="Все новинки";
28598bdd71710d8fd8be5317b6f0f19a="Таблица размеров";
63353f810eee92827cdbfba8fa1e219e="Информация о доставке";
1650598c7a7400bf24df06940a2ff8a4="Персональные данные";
dd23291cb029bbfd2ec7a9a420f763a9="Связь с менеджерами";
d4d5a1332832979ce5eb6f76af39d577="Авторизация";
8b8c1d7e198df251cf076b3564869fa3="Выход";
137fa30bf5f2247c0950e103187d4091="Выйти";
299e55afedb352ecb792fc0ff384064c="Ваш заказ";
1cd5948767af223f51f179cc0a88786a="Количество";
b4483e11b9f9157b3bc02e930ee5f332="Сумма";
bb0ee68cc70a85afee6cb8ca7fc1e03e="Итого";
b1d5dc9eac2dc3b303e430bdae315c34="Скидка";
bde82d0f68d5149d21e1eb74343851c3="Доставка";
ec16f577f4b5d04cebf35954726a7b86="К оплате с учетом скидки";
600ce346c792297310a15e4e22aee114="Добро пожаловать";
f0a55f9a5ae039f3a47a592911bdac80="Заказ";
2fa42ea535e79917c6ec14bb28584574="Личные данные";
e714cd6498e3b1352ca7ce86179e45c7="Доставка, адрес получателя";
1a271636937a03b3000af3d7a16e54e2="Дополнительная информация к заказу";
dbb3d5071a9340a753293966fe62cc4b="Способ оплаты";
52bbf7f44e2dc50670d7e27a851544dc="Очистить";
bf5ea0e7108c769d087b81b3f3c0f87d="Ваша корзина";
02ce06618e8d6c4b75a30c765fe8990c="Очистить корзину";
1312f91afdb37f95153c9740d5079d69="Оформление заказа";
764f5ad7a8e171a0955e4e398fca21c1="Наименование организации";
cb6ed76529048312a0cfa9cdd4e548b0="ИНН";
8668d85b86a62b2d44352e9d470c590c="Юридический адрес";
1e20cdcb55484ed839bd5847d8c5082c="Спасибо за Ваш заказ";
4b33143a04cfa060510391f5152149d2="Наши менеджеры свяжутся с Вами по координатам, оставленным в форме заказа";
f73d09270eccdb931bae03329306053b="Подробности заказа";
8c7a59b6305e143f250bdbe04e18b6c1="Способ доставки";
e7621aa4c50aaa2f847c8d5f1e89ee34="Тип оплаты";
13d1d95706ffe7880c87480ad8da7e68="Адрес и информация для доставки";
659cbfd32a988323b3ab40649fc9fe8f="Дополнительная информация";
60edf2e5e08a658bcabff52b9140f798="Заказанные товары";
f6eb37634fa492738b25e94bdb709673="Итого к оплате с учетом скидки";
b35f1f5dfd64d8b7da4f614c9f7d66b3="Вы можете проверить статус заказа, загрузить файлы, распечатать платежные документы, через";
ff40914f1c16c69ae7d75c7ba599a394="Если у Вас есть вопрос, задайте его нам в Личном кабинете в разделе";
7b587eb2851c017307b08460efa757e8="Связь с менеджером";
c319273c944d6b6933e5ef49295b097f="С уважением";
bec758c1fff8d889df94a03d6ecf090b="Интернет-магазин";
a617adf8dc9bd7ab6c0d272e9ac0fc3c="Отдел продаж";
be54af20920f1ea7277ae4d0a0bafbb4="Поступил заказ на сумму";
23e48ea8bcfd47c8ddb4b3eced07b4e1="Контактное лицо";
211288196aee676ef5f61ea8e0f17e0a="Для редактирования состояния заказа перейдите в панель администрирования магазина";
bb16cf37951e846dbdcb86ec98d01554="Дата";
9cc49d032db170869d4d871b0bf73017="Информация по заказу №";
b0d32911c4eac4ebecf277f86ee4a2b0=" от ";
c9cf0451afe1bff77613855813192206="Итого с учетом скидки ";
2085b50860063bb01df47e08edd928ca="Документы";
92a21f8d5d6148bc0d570bc16afcff82="Время обработки заказа:";
44fed382df08de67a8e4a32dff945505="Статус заказа";
5a8628ee07dd155112a7e30284a50146="Вариант доставки";
348fdfe3850ed3d2ce00d054061f1c52="Адрес доставки";
79ea81863a9f370cbd28026f4e1258f0="Юридические данные";
c04b8ec3f46a98b3d81a6fde0bb97259="Кол-во";
d112f7759959f6eaff2b122c01810f70="Выбрать адрес доставки";
276e431707a04e2df543495727f8604e="Создать новый адрес";
c44dc4d6dad257638c84d8821da8fcff="сделать выбранный вариант адресом по умолчанию";
4a0b73eb64328f2cc4a1a3b9823f36af="Промокод для получения дополнительной скидки";
cdbda13d6423f61185813ef91f551ab8="Промокод";
731aef9fb03f1f786eef802721dc29fd="Проверить";
d29384746f186604bda012b41251c3eb="скидка";
bb1c462602d8fa3b50c4578ae6b92d8e="Наверх";
58efafca17f1f146a7c1ae4866a66b6b="Поиск";
08f8e03bd59a7c67dc44028b3e073d5e="Пароль";
1a63756065367cbdae89a17270df3440="Запомнить";
fc325a69609a38d10bb00b1b102e8fd1="Забыли пароль";
f35391564785f9b4ebb1f429c3307673="Зарегистрироваться";

Перевод JavaScript сообщений витрины находится в файле /phpshop/locale/russian/template.js, а внутренней /phpshop/locale/russian/gui.js

// Locale
var locale = {
	charset: "windows-1251",
    commentList: {
        mesHtml: "Функция добавления комментария возможна только для авторизованных пользователей.\n<a href='/users/?from=true'>Авторизуйтесь или пройдите регистрацию</a>.",
        mesSimple: "Функция добавления комментария возможна только для авторизованных пользователей.\nАвторизуйтесь или пройдите регистрацию.",
        mes: "Ваш комментарий будет доступен другим пользователям только после прохождения модерации..."
    },
    OrderChekJq: {
        badReqEmail: "Пожалуйста, укажите корректный E-mail",
        badReqName: "Обратите внимание,\nимя должно состоять не менее чем из 3 букв",
        badReq: "Обратите внимание,\nесть поля, обязательные для заполнения",
        badDelivery: "Пожалуйста,\nвыберите доставку"
    },
    commentAuthErrMess: "Добавить комментарий может только авторизованный пользователь.\n<a href='" + ROOT_PATH + "/users/?from=true'>Пожалуйста, авторизуйтесь или пройдите регистрацию</a>.",
    incart: "В корзине",
    cookie_message: "С целью предоставления наиболее оперативного обслуживания на данном сайте используются cookie-файлы. Используя данный сайт, вы даете свое согласие на использование нами cookie-файлов.",
    show: "Показать",
    hide: "Скрыть",
    
};

Добавления языка

Для добавления нового языка следует скопировать папку /phpshop/locale/russian_utf/ в /phpshop/locale/newlang/ и перевести содержимое описанных выше файлов через любой онлайн переводчик (Google Переводчик или Яндекс Переводчик). Кодировка файлов в папке с новым языком должна быть UTF-8.

Выбрать новый язык в настройках панели управления Настройки - Основные.

PHP код

Поддерживается использование нативного php кода между тегами @php ..... php@, пример:

@php 
if(isset($_GET['v'])) 
  echo "Выбраны характеристики";
php@

Существует список разрешенных php-функций и условных выражений для использования в шаблонизаторе для предотвращения внедрения вируса на сайт. Доступные функции:

if
else
switch
for
foreach
echo
print
print_r
array
isset
empty
chr
str_replace
empty

Добавить новые функции можно через общий конфигурационный файл phpshop/inc/config.ini секция [function]:

[function]
guard = "true";
allowed = "leftCatal,isset,getElementById,empty,UserLogOut,exit,set,get";
deny = "include,include_once,require,require_once,file,chmod"; 

Защитник кода отключается параметром guard = "false"

Для использования переменных шаблонизатора @переменная@ в тегах @php .. php@ применяется глобальный массив $GLOBALS['SysValue']['other'][переменная] или PHPShopParser::get('переменная').

Существует возможность задавать условия вывода блоков с учетом наличия той или иной не пустой переменной, пример:

<div class="@php __hide('now_buying'); php@">

К элементу div добавится класс hide d-none при условии, что переменная @now_buying@ пустая, т.е. блок не выведется. Таким способом можно скрывать новости, если их нет и т.д.

Дополнительные параметры аргументов функции __hide(name, type, class)

  • name - имя переменной для проверки

  • type = parser - проверка переменной шаблона, используется по умолчанию.

  • type = cookie - проверка переменной куки

  • type = session - проверка переменной сессии PHP $_SESSION

  • type = global - проверка глобальной переменной PHP $GLOBALS

  • type = requet - проверка переменной PHP $_REQUEST

  • type = isset - проверка наличия переменной шаблона

  • type = empty - проверка на не пустую переменную шаблона

  • class - имя класса для вывода в случаи срабатывания условия, используется по умолчанию hide d-none

Last updated