Добавление кода на все страницы сайта

#
Добавление кода на все страницы сайта
Здравствуйте, подскажите, как можно добавить js на все страницы, например, в <head>. А также смогу ли я из js узнать на какой странице я нахожусь(главная, страница категории, страница товара), какие-нибудь данные о пользователе(id, email), можно ли на странице товара получить данные о товаре(id, цена, название, описание)? Спасибо
Модератор
#
Re: Добавление кода на все страницы сайта
FreddySerg,
Редактируете макет через одноименный модуль, там в нем подключаете свои JS.

FreddySerg писал(а):
А также смогу ли я из js узнать на какой странице я нахожусь(главная, страница категории, страница товара)

Это зависит от того, что Вы у себя в JS напишите.
#
Re: Добавление кода на все страницы сайта
А подскажите пожалуйста, как мне передать переменную из xsl в javascript, вот допустим в шаблоне для товара есть следующая строка
<a href="{url}" hostcms:id="{@id}" hostcms:field="name" hostcms:entity="shop_item"><xsl:value-of disable-output-escaping="yes" select="name"/></a>

то есть если я правильно понимаю, то @id - это и есть id товара, если я напишу так
<div oncklick="console.log('{@id}')"></div>, то эта переменная распарсится, а если так

<script type="text/javascript">
  console.log('{@id}');
</script>
то нет, поскажите, как ее можно передать в блок <script><script>
Модератор
#
Re: Добавление кода на все страницы сайта
Потому что во втором случае нужно исопльзвоать <xsl:value-of ...>, см. информацию по XSL в документации
#
Re: Добавление кода на все страницы сайта
Спасибо, так работает, а как я могу узнать залогинен пользователь или нет и получить о нем информацию
Core_Entity::factory('siteuser')->getCurrent() не дает никакой информации, возвращает {"img_list_cashes":null,"img_list_affiliates":null}
Модератор
#
Re: Добавление кода на все страницы сайта
FreddySerg,
метод getCurrent() возвращает NULL, если пользователь не залогинен или объект самого пользователя.

$oSiteuser = Core_Entity::factory('Siteuser')->getCurrent();
if (!is_null($oSiteuser))
{
echo 'Логин: ', $oSiteuser->login;
}
#
Re: Добавление кода на все страницы сайта
А как найти php код, который обрабатывает какое-либо действие, например, удаление товара из корзины, можно ли его редактировать из админки и если нет, то как его найти в исходниках сайта. А еще, если можно, покажите пример использования своего собственного обработчика, куда его необходимо добавить и по какому адресу его вызвать?
Модератор
#
Re: Добавление кода на все страницы сайта
FreddySerg,
обработку клиентской интеграции смотрите в коде соответствующих типовых динамических страниц.
#
Re: Добавление кода на все страницы сайта
Да, спасибо, я нашел функции для редактирования страницы. А вот создание заказа где конкретно происходит, не подскажете? У меня hostcms 6.0 business, но я нигде не могу найти добавление платежных систем, а без них сформировать заказ. Перехожу в админке на вкалду websites, но там ничего подобного нет.
Модератор
#
Re: Добавление кода на все страницы сайта
FreddySerg писал(а):
А вот создание заказа где конкретно происходит, не подскажете?

В обработчике платежной системы, унаследованной от стандартного Shop_Payment_System_Handler

FreddySerg писал(а):
но я нигде не могу найти добавление платежных систем

В разделе "Интернет-магазины" переходите в сам магазин. Далее меню "Справочники" - "Платежные системы".
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
Авторизация