big boy

big boy
Рейтинг
358
Регистрация
18.11.2006
Должность
webmaster
imtod:
Посмотрите модуль jquery_update, он может подключать разные версии jquery для админки и для фронта. Весьма полезная вещь.

Настройки модуля:

IBakalov:
А смысл обновлять софт, если Яндексоиды всем Метрику позакрывали?

Так об чем и речь. Это конечно форс мажор, да и деньги небольшие, но все равно обидно немного.

Может устроить брейншторм и накидать идей? Основную функцию прога уже не способна выполнять.

ТС, отпишите по поводу детекта АВ.

Как-то так

ТС, обновления софта будут? 😂

imtod:


Посмотрите модуль jquery_update, он может подключать разные версии jquery для админки и для фронта. Весьма полезная вещь.

Build block использует не админскую, а тему сайта, в которой 1.7.2

Хо-хо номер два!

Ядро глючит с jquery 1.7.2.

Но эта версия мне нужна для скрипта. Пошел гуглить, нашел вот что:

Мануал по подключению нескольких версий jquery - https://www.drupal.org/node/1058168

Модуль - https://www.drupal.org/project/jqmulti

Поставил, нужную мне версию он нашел.

Обернул свои скрипты в такую шляпу (как в readme модуля):


(function($){
// мой скрипт
})(jq172)

Или так пробовал:


(function($){
// мой скрипт
})(jQuery)

Сами скрипты подключил, как того требует модуль, в файл template.php через функцию:


function mytheme_jqmulti_files() {
return array(
'sites/all/themes/mytheme/js/script.js',
'sites/all/themes/mytheme/js/script2.js',
);
}

Но, как вы уже догадались, ничего не работает.

Что я сделал не так? Или может есть более простой способ?

З.ы. Если просто подключить напрямую jquery 1.7.2 - мои скрипты работают, но не работает к примеру перетаскивание блоков в админке.

Обновил jquery с версии 1.3.2 до 2.0.3 - нужно для работы одного скрипта.

Но вместе с этим перестали работать CKEditor и Lightbox 2.

CKEditor обновил до последней версии - не помогло. С лайтбоксом вообще не знаю, что делать.

Консоль вот что выдает:


TypeError: $.browser is undefined
...ery){var args={},pos=query.indexOf('?');if(pos!=-1)query=query.substring(pos+1);...

TypeError: $blocks.live is not a function
$blocks.live('mouseenter',function(){

Но они не относятся к модулям. Первая ошибка от advagg, вторая от кода cityads.

Можно ли как-то подружить эту версию jquery с модулями?

---------- Добавлено 26.01.2015 в 13:27 ----------

Хо-хо! Сменил jquery на 1.7.2 и всё заработало, включая необходимый мне скрипт.

DevLand:
big boy, вы делаете новый проект на 6ке? или это старый сайт?

Ему три года уже. Делал бы новый на 7-ке, как и поступаю с другими сайтами.

Переносить на семерку - это геморр будет. Много модулей подгонять... оно того не стоит.

Всё получилось, наконец-то. Вот код, которым можно добавить свои html атрибуты:

function theme_menu_item_link($link) {

if (empty($link['localized_options'])) {
$link['localized_options'] = array();
}
$link['localized_options']['attributes']['data-link'] = 'oppa';
return l($link['title'], $link['href'], $link['localized_options']);
}

Вставить в template.php, атуально для 6-ки.

Искал, даже нашел пару примеров, но не совсем того, что мне нужно. Пытался адаптировать, но безуспешно - в программировании я как обезьяна, могу только копипастить или что-то очень простое написать. Модуль menu_attributes не подходит - у него можно делать только ограниченное количество параметров.

---------- Добавлено 24.01.2015 в 16:45 ----------

Вот так пробовал, в модуль:

function mymodule_menu_link_alter(&$item, $menu) {

if ($item['menu_name'] == 'название_меню') {
$item['options']['attributes'] = array(
'data-link' => 'blablabla',
);
}
}

название_меню взял по ссылке - site.ru/admin/build/menu-customize/название-меню

Всего: 2841