Блог пользователя - xom940k

twitter bootstrap and Drupal 6

2 июля 2012 в 16:51

Привет друпаловеды, филы и любители.
Есть сайт, разработанный 2 года назад на Drupal 6. Есть желание клиента, реализовать финтеклюшечку, которая реализована в недавно полюбившемся мне Twitter Bootstrap под названием Popovers. Очень замечательная штучечка. Вот только все мы знаем, что разработчики (зачемто!) сделали нам проблему совместимости 6ки с новыми версиями JQuery. В частности, при подключении Bootstrap, вылетает ошибка на отсутствующий jq плагин .on()
Как жить в таких условиях?

Баг в taxonomy_select_nodes

29 марта 2012 в 13:24

С прискорбием сообщаю, что обнаружил баг в данной функции.

<?php
$result 
taxonomy_select_nodes(array(55), 'or'0false); // 10 элементов
//=========================================
$sql '
SELECT n.nid 
FROM {node} n
INNER JOIN {term_node} tn USING(nid)
WHERE
  AND tn.tid=%d
'
;
$result db_query($sql55); // 15 элементов у меня, и сколько угодно у вас...
?>

Page Not Found

28 февраля 2012 в 18:11

В теме рендерю массив main_menu и вывожу основное меню. Свои меню генерю функцией menu_tree() потом рендерю, все это делаю в hook_preprocess_page - все ок, пока юзер не захочет зайти куданибудь не туда...

db_query placeholders

10 февраля 2012 в 23:50

Всем привет!
Вот офф ссыль, чтобы не быть голословным:
http://api.drupal.org/api/drupal/includes%21database%21database.inc/func...
и там в комментах:

<?php
// Drupal 7
// Notice the place holders are now done using the same syntax as PDOs (:uid)
// Placeholders also don't need to be quoted anymore.
$uid 1;
$result db_query('SELECT n.nid, n.title, n.created
FROM {node} n WHERE n.uid = :uid'
, array(':uid' => $uid));
// Result is returned as a iterable object that returns a stdClass object on each iteration
foreach ($result as $record) {
  
// Perform operations on $record->title, etc. here.
  // in this example the available data would be mapped to object properties:
  // $record->nid, $record->title, $record->created
}
?>

[КАКБЭРЕШЕНО] Drupal 7 Multi field

30 января 2012 в 14:57

Всем привет. Заезжанный вопрос.
Сontent Multigroup Drupal6 - рабочая вещь.
Однако упорно не могу ничего найти похожего для Drupal7.
Задача: наполнять контент в табличном стиле, где ячейка каждой строки - cck поле. Есть кнопка добавить строку.
Если есть решение - отпишите.
Если нет - буду куралесить сам, ибо выхода нет. Отпишите опыт, что юзали, какие идеи.
В 6ке я представляю как внутрях работает это, поскольку вывод у меня всегда кастомный.

[РЕШЕНО] Drupal7 and jQuery Update in Chrome

26 января 2012 в 21:51

Всем привет. Установил на семерку jq update. Везде новый jq жуется нормально. Но вот Chrome - поперхнулся:

Uncaught Syntax error, unrecognized expression: [href=/]
k.error jquery.min.js:16
k.filter jquery.min.js:16
k jquery.min.js:16
c.querySelectorAll.k jquery.min.js:16
d.fn.extend.find jquery.min.js:16
Drupal.admin.behaviors.toolbarActiveTrail admin_menu_toolbar.js:19
Drupal.admin.attachBehaviors admin_menu.js:143
d.extend.each jquery.min.js:16
Drupal.admin.attachBehaviors admin_menu.js:142

"Дергается экран", верстка, скроллбар

23 декабря 2011 в 13:41

Всем привет. Очевидная проблема, которую не каждый, но некоторые клиенты замечают.
На больших мониторах, при открытии странички с небольшим объемом контента скроллбара нет. Но при открытии "портянок", появляется вертикальный правый скроллбар, который смещает верстку влево на дельту, равную своей width.
Костыль, который я попытался вставить - не очень работает. Клиент опять где-то спалил, как он говорит, "дерганье экрана".

[РЕШЕНО] $_SESSION + Ajax

27 октября 2011 в 4:04

Всем привет. Юзаю ajax, который отправляет запросы на путь, объявленный в хуке menu.
В обработчике я использую $_SESSION, но обнаружил, что сессия не моя. Как решить проблему?

[РЕШЕНО] Views_embed_view + pager

15 октября 2011 в 2:52

Всем привет. Использую аяксовую подгрузку списка товаров. Аяксовый коллбек возвращает результат vews_embed_view(), в настройках (через UI) установлен пейджер и выводится все ОК.
Но пейджер он выводит с ссылкой на аяксовый коллбек. Это я решил перехватом нажатий на номера страниц пейджера. Вот что не могу понять/решить:
как задать номер страницы пейджера, для функции views_embed_view()?

[РЕШЕНО] Search module - so powerfull and so inflexible

29 сентября 2011 в 20:28

Всем привет. Вопрос понятный, но возможно не простой:
как исключить из индекса определенный тип нод не патча дистриб?

[РЕШЕНО, но не кошерно] drupal_add_js, или JSON

8 августа 2011 в 23:23

Всем привет.
Вопрос раздувного характера.
1. Юзаю JQ UI Dialog
2. Юзаю JQ Ajax для получения контента для всплывающих диалогов
3. Нужно "динамически" инициализировать диалоги. В качестве примера приведу код:

[РЕШЕНО] PHPTemplate

24 июля 2011 в 21:34

Всем снова привет. Продолжаю задавать тупые вопросы.
PHPTemplate - шаблонный движок, спецом разработанный для Drupal. Если порыскать в гугле, то можно найти на довольно стандартное его использование, понятное людям, которые раньше работали с подобным (например со Smarty):

<?php
$tpl 
= new PHPTemplate('someTemplate.tpl');
$tpl->set('someVar'123);
print 
$tpl->fetch();
?>

Код вернет сами понимаете что и без всякого лишнего.
Естественно это не работает в Drupal(ВНЕЗАПНО!) при написании модулей. Вместо этого, материал нарысканный мной в гугле предлагает использовать следующие конструкции, у которых конечно же мощность использования на этом не заканчивается, тем не менее:

<?php
/**
  * Перегрузка hook_theme
  * @param array с ключами хуков темы.
**/

function module_name_theme($existing$type$theme$path) {
  return array(
    
'theme_key' => array(
      
'template' => 'some_file',
      
'arguments' => array('yml' => array()),
      
'path' => drupal_get_path('module''module_name') . '/templates',
    ),
  );
}

/**
  * Реализация hook_menu()
**/

function module_name_menu() {

  

$items = array();

  

$items['some-path'] = array(
  
'title' => t('blablabla'),
  
'page callback' => '_module_name_callback',
  
'access callback' => 'just_true_returner',
  
'type' => MENU_NORMAL_ITEM,
  );
  return 
$items;
}

function 

_module_name_callback() {
  return 
theme('theme_key', array(12'hren'));
}
?>

[РЕШЕНО] views в качестве callback

14 июля 2011 в 18:43

Всем привет.
Собственно я знаю что views может делать блоки. Вопрос не в этом. Мне нужно следующее:
- у меня есть несколько страничек views
- на клиентской стороне висит Ajax-просилка, которая подгружает в, например, jQuery Dialog списки, которые выдает views.
В сущности схожий функционал с popups модулем. Но popups как то парсит хитрожопо, что верстать совершенно невозможно! Идет нафиг... К тому же у jQuery Dialog понтов больше, по крайней мере я знаю больше понтов от него, чем от popups (вообще не знаю как там все это работает).
В общем то есть решение: просить обычный путь, сервер возвращает страничку, мы шапку и все лишнее - нафиг, т.е. парсим.
ВОПРОС: а можно ли по человечьи сделать? Т.е. в обработчике, где у нас isAjaxRequest проверка идет, возвращать в качестве ответа ТОЛЬКО список views (по аналогии с колбеками), без всякого мусора?
Т.е. ченить вроде:

<?php
 
return get_views_content('views_name''URL_for_exaple|page_name_for_exampl');
?>

Опять я какуюто фигню спрашиваю Sad

user_save($this_user, $new_user) не сохраняет profile_field type=checkbox

2 июля 2011 в 19:20

Всем привет еще раз.
Бьюсь об стену головой! Не могу понять что не так...
Я написал велосипед, который сохраняет изменения юзера с помощью user_save
Со всеми типами user profile работает, кроме типа checkbox.
Вот код:

<?php
global $user;
$account user_load(array('uid' => $user->uid));
$row 'profile_checkbox'// type = checkbox
// панеслася!!!
// перечислю через СЛЕШ!!! (это не делить!) варианты, которые я перепробывал
user_save($user/$account, array($row => true/false/0/1/'on'/'off'/'true'/'false')); // фиг

// по мануалу должно выглядить так:

user_save($account, array($row => 0/1));
?>

Причем в обычной форме все работает.
ЗЫ: зачем велосипед спросите вы? Необходимо при редактировании профиля отправлять аякс запросы и налету изменять каждое поле (как в андроидных формах)

[РЕШЕНО] popups & dinamic skins

27 июня 2011 в 18:06

Всем привет еще раз Smile
Вот ломаю голову, как бы заставить popups всплывать разные окошка в разных скинах. Тоесть например для обычных страничек - скин Facebook, для авторизации - свой скин.

1. Искал как бы добавлять класс обертке:

rewrite url, hook_router...

15 июня 2011 в 19:31

Всем привет.
На сайте, который у меня сдан, написан мною фильтр. Фильтр мудреный, потому реализовать его представлениями - не получилось. Хавает фильтр GET параметры и выплевывает контент. И вот тут нарисовался оптимизатор и говорит: а вот надо добавить в меню вот такой URL: http://blabla.ru/nyanya?brendid=47,48 и тд... Ну в общем понятно Smile Я в шаблоне сделал подстановку и теперь с некоторыми айдишниками выводится отдельные drupal page со своими мета и тайтлами. Вот только проблема: если юзер сотрет GET параметры - то фильтр не отработывает. И в меню не добавляется с GET параметрами. И URL Alias не создается с GET параметрами.
Как жить? Хочу хукнуть роутинг, но чето ничего не нашел, кроме custom_url_rewrite_outbound() and language_url_rewrite() - не хуки, которые drupal.org советует пихать в settings.php, чтобы до загрузки модулей отрабатывал. Но ведь это не друпально! Хочу хук Biggrin

Ubercart Discounts (Alternative) CCK Field and Views Filter

11 июня 2011 в 7:55

Всем привет.
Хороший модуль я установил для скидок в Ubercart Ubercart Discounts (Alternative) CCK. Все вы с ним наверное знакомы, поскольку он обсуждаем бурно. Суть в том, что этот модуль добавляет 2 своих CCK поля, для вывода цен со скидкой. Они видны в views fields, но не видны в views filter.
Нужно вывести товары, имеющие скидку, как это сделать при таком условии? Sad

[РЕШЕНО] При смене языка - белый экран

31 мая 2011 в 16:44

Всем привет.
При смене языка с Русского на Английский - белый экран.
Есть подозрения:
Стоит Pathauto, он генерит алиасы автоматически для текущей локали. При смене локали - все ссылки в меню ломаются. Я при смене с английского на русский пробежался по базе и поставил "Все", те пустую строку, в колонке language таблицы url_alias - ссылки заработали. Сегодня нужно было пофиксить кое что. Не люблю русский интерфейс - сменил - белый экран...

taxonomy image не умеет загружать изображения с одинаковыми именами.

6 апреля 2011 в 14:16

Собственно, как указано в названии топика, при попытке закачать изображение на сервер, у которого имя совпадает с уже закаченным - модуль просто ничего не делает. А в базу пихает прежде закаченную иллюстрацию. Мельком просмотрел код, вроде нашел какие-то функции добавления в базу, но upload функции не нашел. Если кто сталкивался и нашел решение - отпишите. Мне сильно не нужен такой функционал, я могу переименовать все изображения Smile Но вдруг клиенту взбредет поменять картинку?