Есть ли возможность ?
Roffun |
|
---|---|
Добрый день, у меня вопрос к разработчикам по функциям cot_rc_link_footer, cot_rc_embed_footer Они выводят код обрамленный тегами, а есть ли возможность вставить свои атрибуты ? или может быть есть альтернативные функции для вставки в футер из плагинов? Например : cot_rc_link_footer($cfg['plugins_dir'] . '/myplugin/js/myplugin.js'); выведет: <script type="text/javascript" src="plugins/myplugin/js/myplugin.js"></script> Допустим нужно добавить атрибут async , как лучше это сделать програмно? Добавлено 24 минуты спустя: Посмотрел функцию в системном файле, получается что можно использовать вставку в {FOOTER_RC} таким образом: $out['footer_rc'] .= '<script src="*******" async></script>'; Есть ли еще варианты? Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
|
|
Отредактировано: Roffun (27.12.2016 21:13, 7 лет назад) |
Dr2005alex |
|
---|---|
Я не вижу других вариантов. Можно создать свою функцию. ПРимер function cot_rc_link_footer_custom($path,$param) { global $out; $type = preg_match('#\.(js|css)$#i', $path, $m) ? strtolower($m[1]) : 'js'; $out['footer_rc'] .= cot_rc("code_rc_{$type}_file", array('url' => $path,'param'=>$param)); } а resources.php добавить $param.. $R['code_rc_js_file'] = '<script type="text/javascript" src="{$url}" {$param} ></script>'; И пользоваться... WebKaa.ru - Cotonti Relax
|
Roffun |
|
---|---|
Алексей, благодарю, с ресурсами я еще не пробовал подключать, тем более видел в других плагинах, что ресурс пхп можно свой подключать Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
|
Macik |
|
---|---|
#40044 Dr2005alex: Можно еще проще. Просто переопределить $R['code_rc_js_file'] в нужном месте (или единожды в файле `theme.php`) и сразу вставить туда все нужные атрибуты.
https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
Roffun |
|
---|---|
Благодарю, это тоже вариант удобный. А как насчет файлов **.rc.php ? есть ли возможность менят порядок с учетом файлов стилей темы ? order=N только между плагинами работает. А если код посмотреть, то сначала выводятся файлы стилей плагинов, а потом файлы стилей шаблона. Этот порядок програмно можно менять? Добавлено 12 минуты спустя: Если учитывать что плагины в большинстве своем это вспомогательные элементы, то их стили логично загружать после стилей шаблона. Но при использовании хука rc и cot_rc_add_file они автоматически попадают выше файлов стилей шаблона, в итоге имеем картину, когда сначала грузится файл css вспомогательного плагина, и не одного, а потом уже шаблон. И есть ли возможность объединять файлы дополнительно, отдельно от основного объединения? например при использовании $out['head_head'] .= "<***>"; этот вариант помогает вывести в head, как и cot_rc_link_file() , но он выводится отдельно, если их будет с 10 , лучше было бы их объединять. Есть ли вариант объединения в обход cot_rc_add_file() ? Добавлено 17 минуты спустя:
Эту функцию можно использовать ? http://www.cotonti.com/reference/cotonti/package-functions.html#cot_rc_consolidate() Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
|
|
Отредактировано: PRoHtml (06.10.2014 16:18, 9 лет назад) |
Macik |
|
---|---|
https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
Roffun |
|
---|---|
Конечная цель - быстрый сайт, для этого нужно иметь возможность переопределить порядок загрузки стилей и скриптов. А в нашем случае получается что нужно выбирать , или все в куче но через rc.php или отдельно с возможностями применения условных операторов, но уже без rc. Без использования дополнительных плагинов, в ****.rc.php можно манипулировать только $e $usr и $_SERVER фактически. Не каждый сможет делать соответствующие правки, а хотелось бы иметь возможность по дефолту это делать.
Добавлено 3 минуты спустя: ================================= В общем по данной теме остался один вопрос: Есть ли возможность применять условные операторы в файлах rc.php ? интересует $c $env в принципе, остальное нашел Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
|
Alex300 |
|
---|---|
rc.php не предусматривает хуков, и соответсвенно условий. Это видно из его кода. На самом деле порядок загрузки рессурсов в пределах хедера или футера на скорость загрузки страницы никак не скажется. Хотите Вы этого или нет а браузер при первом обращении все равно их запросит у сервера. Мало того, каждый файл - это отдельный запрос и ответ от сервера. Так что даже не парьтесь. Кроме того, браузер закеширует Ваши скрипты и при повторном обращении качать их сервера не станет, что только улучшит производительность. Если же Ваш скрипт должен сработать пораньше и показать пользователю прелоадер, например, чтобы скрасить его ожидание, добавляйте его в начало очереди при загрузке: cot_rc_link_file($path, TRUE) Немного повтрюсь и постараюсь обощить: для добавления скриптов и стилей предусмотрено 3 функции (это не считая того, что Вы сами можете в своих темах что хотите ))) ). cot_rc_add_file($path, $scope = 'global', $order = 50); Следует использовать для подключения файлов, которые должны загружаться всегда. Если включено кеширование и консолидация, то все файлы собираются в один минифицированный файл и разом отдаются в браузер. Как видим - третий параметр влияет на порядок загрузки. cot_rc_link_file($path, $prepend = false); cot_rc_link_footer($path); Служат для добавления JS/CSS файлов в хедер и футер без консолидации. Следует использовать для рессурсов, которые подключаются в зависимости от страницы, т.е. не везде. Скрипты, которые отрабатывают исключительно по document.ready - стоит грузить в футер. Правильность выбора порядка подключения файлов лежит на плагинописателе или авторе темы. А вот если же в Вашей теме нужно подлючить что-то каким-то способом, который не предусмотрен системой, добавляйте код непосредственно в хедер или футер. Хотя большинство задач можно решить и без этого. Мне, к примеру, ни разу не пришлось так поступать долгое время. Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english... Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/ |
|
Отредактировано: Alex300 (07.10.2014 06:39, 9 лет назад) |
Sergey |
|
---|---|
#40057 Alex300: Совершенно с вами согласен. Даже определенные тесты сайтов совершают две загрузки ресурса для определения действительного отзыва сайтов. Тут, на ветке о сайтах на котонти, идет обсуждение так называемых говоносайтов, идет обсуждение без знания устройства современных браузеров и серверов. Только раз загрузить сайт, как все файлы css, скрипты уже в кэше браузера. Браузер сам заботится об обновлении этих файлов. Иногда, это пораждает самые настоящие проблемы: невозможно очистить такой кэш.Это происходит с файлами по умолчанию, например index.html. Тот же порядок и на серверах. Просто время "жизни" может быть меньше. Никакого скачивания с диска не происходит, все кэшируется и моментально из памяти загружается. Поэтому, параметр, число занружаемых плагинов, выглядит в отрыве от реальности и, соврешенно, не может быть критерием качества сайта.. www.cotonti.mobi
|
Roffun |
|
---|---|
#40057 Alex300: Согласен, поэтому и решил задать вопрос разработчикам, так как не нашел внутри возможности вызова нужных переменных.
Благодарю за развернутый ответ, особенно в моем случае может пригодиться cot_rc_add_file($path, $scope = 'global', $order = 50); Я не знал что можно в эту функцию добавлять параметры, использовал только $path. Как раз интересовал вопрос с точки зрения написания плагина. Еще раз благодарен всем ответившим в этой теме, почерпнул для себя много полезной информации.
Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
|