Вставка JS на определенной странице
kushelbek |
|
---|---|
Добрый день, есть необходимость использовать js только на 1ой странице, имееться ввиду, что бы скрипт срабатывал на определенной странице, а на остальных он не работал. Не могу понять как это реализовать, заранее спасибо. |
|
Bu gönderi kushelbek tarafından düzenlendi (2016-08-19 14:40, 8 yıllar önce) |
Виктор |
|
---|---|
попрбуйте заключить скрипт в условие которое например будет срабатвать в определенном тпл |
Wiper |
|
||
---|---|---|---|
В name.rc.php
В foter.tpl
|
kushelbek |
|
|||
---|---|---|---|---|
#41994 Wiper: Спасибо, буду дома попробую. А если не для главной странице то в footer.tpl прописать типа такого:
или я не так понял? |
Macik |
|
---|---|
Да можно в футере. Добавлю подробностей... Вообще лучше размещать там где это более логично с точки зрения к какой области относится ваш скрипт (что он делает) . Если он связан только с удобством отображения данных или юзеринтерфейсом в целом — можно и в футер. Еще момент — Кроме того (например если включена консолидация, или в зависимости от задач), возможно имеет смысл (при условии что код не большой) — использовать метод `Resources::addEmbed` или `Resources::embedFooter` для включения его в виде исходника прямо в текст страницы.
https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
kushelbek |
|
---|---|
#41998 Macik: Спасибо за помощь, а можно пример того как это реализовать? Заранее спасибо Добавлено 1 час спустя: Задача впринципе стоит следующая есть json файл с данными, javascript выводит из него данные(отдельнога модуля или плагина не писалось). Это все работает только на одной странице (mysite.ru/lab/stranica), так же есть отдельный tpl шаблон страницы. Конкретно вывести js файл на mysite.ru/lab/stranica не получаеятся =(
Заранее спасибо. |
|
Bu gönderi kushelbek tarafından düzenlendi (2016-08-21 17:48, 8 yıllar önce) |
Roffun |
|
||
---|---|---|---|
#41999 kushelbek:Конкретно вывести js файл на mysite.ru/lab/stranica не получаеятся =( Попробуйте {PHP.pag.page_alias} или {PHP.al}
также можно по ID страницы {PHP.pag.page_id}
Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
|
kushelbek |
|
||
---|---|---|---|
#42001 Roffun:#41999 kushelbek:Конкретно вывести js файл на mysite.ru/lab/stranica не получаеятся =( Спасибо, все получилось. Такой вопрос, а где можо почитать про функции для страниц и про условия в файле name.rc.php? Заранее спасибо =) |
Macik |
|
|
---|---|---|
dFooter#42002 kushelbek: Такой вопрос, а где можо почитать про функции для страниц и про условия в файле name.rc.php? Каких-то особых «функций для страниц нет». Есть API у модуля `Page`, но там именно для работы со страницами (добавить/удалить и т.п.). Про условия в файлах `*.rc.php` — общие правила примерно таковы: 1. этап — выбрать правильную функцию: Файлы (js/css) подключаются через специальные функции. (Использовать жесткие ссылки прямо в TPL файлах, кроме случаев «сайт на коленке|быстро правлю чужой код» — не рекомендуется.) 2 этап — выбрать в каком файле эти ф-и вызывать. Об этом я писал выше. Для большинства случаев достаточно (и рекомендуется) использовать файлы *.rc.php (в конкретном расширении или теме оформления). 3 этап — определить непосредственно условия подключения (т.е. вызова указанных выше функций), если скрипт должен подключаться только в определенном случае/на определенных страницах. Тут нет однозначных правил. Просто используем системные переменные для определения «где мы, и что мы». Например:
Кроме этого никто не мешает использовать переменные определенные в расширениях, как это было показано выше в примере для определения id страницы или ее псевдонима(альяса).
https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
||
Bu gönderi Macik tarafından düzenlendi (2016-10-03 23:33, 8 yıllar önce) |
kushelbek |
|
---|---|
Denisbox |
|
---|---|
Что-то никак не пойму как правильно подключить файл только для главной. В * rc.php прописываю конструкцию для слайдера: Resources::linkFileFooter($cfg['themes_dir'].'/'.$usr['theme'].'/slider/slider.css'); Это для вывода в футере. А вот как подключить в футере и только на главной - никак не пойму. Помогите пожалуйста. P.S. сильно не пинайте я с програмной логикой на "ВЫ". contact: fonts (at) otlab . ru
|
Roffun |
|
|
---|---|---|
В файле rc.php не видно $env, попробуйте такой вариант:
Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
|
Denisbox |
|
---|---|
Спасибо! сейчас буду пробовать! P.S. работает, но мне кажется, что дольше идёт загрузка страницы... P.S.2 Нет, всё работает отлично! Забыл тем же способом прикрепить ещё и js. Спасибо! contact: fonts (at) otlab . ru
|
|
Bu gönderi Denisbox tarafından düzenlendi (2016-09-16 09:23, 8 yıllar önce) |
Roffun |
|
|
---|---|---|
#42081 Denisbox: p.s. Css файлы рекомендуется размещать в head а не в body (спецификация W3C). Работать они будут в любом месте, но валидатору не нравится. Добавлено 10 минут спустя: Размещайте файл css в head, а js в footer, например так:
Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
|
||
Bu gönderi Roffun tarafından düzenlendi (2016-09-16 09:52, 8 yıllar önce) |
Denisbox |
|
---|---|
#42082 Roffun: Понимаю, но я больше ориентируюсь на Google Page Speed :) Валидатор бонусов никаких не даёт, кроме самой валидации. contact: fonts (at) otlab . ru
|