Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

Подключение CSS и JS на странице плагина в админке?

Есть JS и CSS файлы.
Как-то можно вызывать подключение в хедере, как положено, а не вставлять это все в тело?

Спасибо.


includes\functions\general.php
Не это ищете?


Есть плагин plugins_page.php?main_page=any_page
На странице плагина в админке нужно подключать определенные файлы CSS и JS.

Т.е. я перехожу на страницу плагина plugins_page.php?main_page=any_page
и у меня в head уже подключены нужные мне JS и CSS

Так вот интересует как можно через плагин подключить JS и CSS на страницу плагина в админке.

Че-то как-то не могу сообразить как изложить) не выспался))


Не понял, ваши css & js должны работать на странице плагина в Админке?
Или же они работают в плагине на клиентской стороне, т.е. покупателя?

Если первое, то не смотря на мое недоумение, могу только посоветовать перетащить функции типа add_js в аналогичный файл админки или инклюдить этот в тот.

Если второе, вообще непонятна проблема, вставляйте обращение к функции с аргументами и вперед с песней!


Первое.
Надо на странице в админке подключать их.
Скажу так. В плагине(в управлении плагином) нужно использовать colorpicker(для выбора цвета) и стили страницы админки которые я сделал.
Экспериментировать уже запарился)

А как можно вызвать add_js на странице плагина в админке? Я смотрел функции, но где и как и прописывать - я не понял.


А примерно так для страницы админки?
<?php
require ()
add_filter('head_array_detail', 'head_array_detail_menu');
?>
HTML
...
<?php

function head_array_detail_menu($value){
...
      $value [] = add_js( plugurl() . 'js/my.js', $value);

      $value [] =  add_style( plugurl() . 'css/mycss', $value );
...

      return $value;
}

?>

HTML

Оказывается, что функции в админке уже доступны
в admin/includes/top.php уже включено:
include (_FUNC.'general.php');

и в includes/path.php:
define('_FUNC', _CATALOG . 'includes/functions/');


В файле плагина
add_action('head_admin', 'any_plugin');

function any_plugin(){
      _e ('<link rel="stylesheet" type="text/css" href="тут уже путь к плагину/style.css">');
}
и будет именно как надо! Но досадный глюк. Теперь эта функция везде сует в хедер этот style.css а не только у этого плагина.
Может чего-то не хватает в коде? все понял, моя ошибка!

А я то думаю, почему слетает путь картинок в boxes и прописывает другой путь. Какой-то баг плагинной системы получается?

И еще из этой темы
Есть плагин boxes, на странице настроек перемещение боксами с помощью ссылок с картинками стрелочек.
Так вот, если включить плагин seo_url, просто включить! то пути в картинкам у boxes меняются на папку с плагином seo_url.
Короче полный ахтунг получается.

т.е пусть должен быть таким
<img src="http://shopos/admin/modules/plugins/boxes/img/down.png" alt="">
а он такой
<img src="http://shopos/admin/modules/plugins/seo_url/img/down.png" alt="">


С новым seo_url как?

Встречный вопрос: я тут запутался -  как выводить стили в хеде для страницы из медиа/контент? Не сображу уже никак после битвы с другим кодом.


<?php
add_action('head_admin', 'функция');

function функция()
{
    echo 'метатег';
}
?>


Только добавлять проверку еще, тип такого
if (strstr($PHP_SELF, FILENAME_CONTENT) && isset($_GET['coID']) && $_GET['coID'] == "id страницы")  {

тут js, css.

}

наверно как-то так


С новым seo_url как?

не пробовал.



<?php
add_action('head_admin', 'функция');

function функция()
{
    echo 'метатег';
}
?>

Я именно так и делал - не выводится.

Ощущение, что какого-то инклюда не хватает, чтобы подватило в голову.
Придется, наверное, header.php править, типа вот этого обнаруженного кода:
/*
if ( is_page('product_info') )
{
    add_js('jscript/jquery/jquery.js', $HEAD, 'fancybox');
add_style('jscript/jquery/plugins/fancybox/jquery.fancybox-1.2.5.css', $HEAD,  'fancybox');
add_js('jscript/jquery/plugins/fancybox/jquery.fancybox-1.2.5.pack.js', $HEAD, 'fancybox');

add_js_code ('$(document).ready(function() {
$("a.zoom").fancybox({
"zoomOpacity" : true,
"overlayShow" : false,
"zoomSpeedIn" : 500,
"zoomSpeedOut" : 500
});
});', $HEAD, 'fancybox');
}
*/


Уточню, что мне нужно выводить в голове каталога, не в админке и не плагин а инфостраницу.


add_action('head', 'www_head');

function www_head() {

_e('тут че надо выводить в хедере');
}

а вот как проверку пренадлежность к странице или нескольким, я пока не понял


Название функции 'www_head' стандартное или от балды?

Ладно, спасибо всем - пойду отдыхать, а то запозднился очень ;) Завтра посмотрю.


от балды)


не знаю правильно или нет, однако у меня выводит в хедер на нужно странице.
add_action('head', 'any');

function any() {
if ($_GET['coID'] == тут id страницы) {
_e('че надо выводить');
}
}
правда как добавить туда несколько страниц я не в курсе.


Источник



Copyright ShopOS