+380(66)433-69-36 | |
+380(66)433-69-36 | |
+380(66)433-69-36 |
- BitLocker с GUI под linux
- Ищем вирус elTest
- Работаем с бесплатным SSL сертификатом Letsencrypt с помощью certbot
- Синхронизация ресурсов с удаленного сервера локально
- Применение нестандартного SEO и статус 404
- MySQL синхронизируем права с разных серверов
- IPSec VPN соединение между офисами.
- "Зеркало" сайта на стороне. Донастраиваем nginx
- Дефрагментация таблиц всех баз MySQL
- Месяц в родительном падеже strftime PHP
- INIT скрипт для Dropbox
- osCommerce VAM Edition 226. Ошибки
- PositiveSSL порядок сертификатов
- osCommerce. Создаем модуль доставки
- Восстановление mySQL баз данных
- osCommerce.Перенос магазина в другой домен
- osCommerce.Прячем адмику
- osCommerce. Продление жизни сессий
- osCommerce. Создаем платежный модуль
- 10 причин выбрать нас
- GRUB2 восстановление
- osCommerce не пересчитывает общую сумму заказа
- Список потенциально опасных скриптов
- Отправка файлов из Dropbox по e-mail
- "Черный список" почтовых доменов
- Боремся с назойливыми иностранцами
- Яндекс-Диск, и стоит ли им пользоваться.
- Обновление модуля Интеркассы для osCommerce
- Веб-почта на сайте хостинга
- Подключение Outlook Express к хостингу
Анатомия osCommerce (filenames.php)
( 0 Votes )
Модуль filenames.php позволяет определить глобальные параметры (переменные) для использования в шаблонах вывода, а так же унифицировать имена файлов для подсистем магазина. Что же собой представляет этот модуль. Рассмотрим буквально несколько определений и дадим для них пояснения.
define('CONTENT_LOGIN', 'login'); Определяется имя файла для шаблона вывода приглашения войти в магазин. При этом не подразумевается, что будет формироваться полностью страница входа в систему. Отображаться будет только форма ввода имени пользователя и пароля. Внешний вид, формирующийся при запросе этого кусочка контента можно найти в каталоге /templates/content/<Имя контента>.tpl.php define('CONTENT_LOGOFF', 'logoff'); Соответственно определяется внешний вид формы для выхода из системы.
define('CONTENT_NEW_PRODUCTS', 'new_products'); Определяется внешний вид отображения нового продукта.
define('TEMPLATENAME_BOX', 'box.tpl.php'); Задает имя файла, отвечающего за отображение "боксов" магазина define('TEMPLATENAME_MAIN_PAGE', 'main_page.tpl.php'); Определяет шаблон для отображения основной страницы магазина.
Кроме параметров контента модуль так же определяет унифицированные имена файлов для использования во всех модулях магазина.
Например:
define('FILENAME_ARTICLES', 'articles.php'); Определяет имя файла в котором находится модуль для обработки статей.
define('FILENAME_ARTICLES_NEW', 'articles_new.php'); Определяет имя файла, задающего логику работы при создании новой статьи.
Контентные переменные используются в полную силу при формировании внешнего вида магазина и обрабатываются таким образом.
<?php
require('includes/application_top.php');
require(DIR_WS_LANGUAGES.$language.'/'.FILENAME_LOGIN);
$content=CONTENT_LOGIN;
require(DIR_WS_TEMPLATES . TEMPLATE_NAME . '/' . TEMPLATENAME_MAIN_PAGE);
require('includes/application_bottom.php');
?>
В данном случае будет отображена форма для входа пользователя с учетом элементов оформления и шаблона главной страницы магазина. При этом переменной $content присваивается имя, используемое в шаблоне отображения основной страницы следующим образом.
require(DIR_WS_CONTENT . $content . '.tpl.php');
т.е. в нужно месте отображение, формируемое файлом /templates/content/login.tpl.php будет вставлено в страницу. Обращаем внимание на то, что кроме подключения отображаемого контента производится так же подключение файла, содержащего правильные для текущего языка описания под именно этот модуль. В данном случае (для русского языка) это будет файл: /includes/languages/russian/login.php. Причем разбиение описательной и содержательной части является скорее стандартом чем рекомендацией. В самом деле - при работе в многоязыковой среде очень важно различать внешний вид и отображаемый текст - иначе можно просто не добиться необходимой гибкости. Конечно, в данном случае на один файл модуля приходится писать дополнительно несколько файлов под каждый конкретный язык отображения - но, если следовать практике - то это, как правило всего-лишь несколько дополнительных файлов, поскольку магазинов, ведущих свою деятельность на более чем 2-х языках довольно мало. Как правило используется вообще один язык.