Drupal6

hook_form_alter не видит CCK поля

15 ноября 2008 в 7:42

свой boardadd.module
<?php
function boardadd_form_alter(&$form, $form_state, $form_id) {
switch ($form_id) {
case 'sale_node_form':
print_r($form);
break;
}
}
?>

Drupal 6.6
print_r() не выводит данные по полям CCK.
Танцы с бубном не привели ни к какому результату.
Какие у кого идеи?

CCK в одну строчку

14 ноября 2008 в 22:32

Есть CCK поле с множественным выбором чекбоксов. Юзер отмечает несколько чекбоксов и получается что каждый из выбранных вариантов начинается с новой строки. Как вывести их все в одну строчку, разделенные запятой, типа:
Жанр: комедия, фантастика, романтика

Вменяемый анти-xss

14 ноября 2008 в 18:30

Стоит ли говорить что одним из столпов серьезного проекта является его безопасность. Одной из проблем в этой области являются xss уязвимости. В апи друпала есть функция filter_xss назначение которой как раз бороться с этой головной болью.
НО
функционал ее до безобразия убог. И не приемлем в большинстве проектов, где в качестве форматирования ввода используется html, а не, например, bbcode. И вот почему:

filter_xss фильтрует "опасные" тэги целиком, а не ОПАСНЫЕ атрибуты тэгов.
Например у нас есть необходимость разрешить использование тэга img. Но при этом каждому Wink известно насколько опасно разрешать использование этого тэга целиком.

Выходит что использование стандартного апи нам тут ничем не поможет и нужно использовать что то серьезное вроде kses или аналогичные этому проекты.

Я уже было взялся писать свой фильтр(интегрирования kses в друпал), как опомнился и нашел на drupal.org замечательный модуль http://drupal.org/project/htmlpurifier который в том числе использует и kses.

Который всем и рекомендую.

простите за передеж в лужу.
Друпаловский filter xss хоть и деревянный как дуб дерево, но все таки позволяет фильтровать только опасные атрибуты, а не весь тэг целиком. Он конечно же не обладает той гибкостью как kses но вполне наджено и уверенно справляется со своей работой.

Моя ошибка была связана с тем что я при своих исследованиях не отключил сторонние фильтры которые и внесли сумятицу.

Модернизация формы профайла

14 ноября 2008 в 15:43

Добрый день!

Подскажите пожалуйста, почему у меня не возвращаются в форму данные после сохранения?
Создал модуль с хуком:

function hook_alter_form_alter (&$form, $form_state, $form_id)  {
        switch ($form_id) {
                case 'user_profile_form':
                        echo $form['account']['_account']['#value']['aboutme']."<br/>";
                       
                        echo "<pre>";
                        print_r ($form_state);
                        echo "</pre>";
                       
                        $form['account']['aboutme'] = array (
                            '#type' => 'textarea',
                            '#title' => t('Информация о себе'),
                            '#default_value' =>  variable_get($form['aboutme']['#value'], ''),
                            '#cols' => 60,
                            '#rows' => 5,
                        );
                       
                        break
        }
}

Поле "Информация о себе" отображается, в массив $form данные попадают, в базе я эти данные вижу, но в самой форме они не отображаются... понимаю что вся загвоздка наверное в строке '#default_value', но решить никак не получается... Где копать? Smile

Нельзя создать страницу или заметку [РЕШЕНО].

14 ноября 2008 в 15:13

Drupal 6.4 не позволяет создать страницу/заметку. Просто показывает абсолютно пустую страницу (в строке адреса http://www.ooo-mbk.ru/node/add/page). Создал пользователя с админскими правами. Зашёл под ним - тоже самое. Точно такая же проблема была когда работал с Drupal 5.7
Запись в системном журнале: page not found 11/14/2008 - 13:37 add/page

Не видны комментарии!

14 ноября 2008 в 12:15

Всем привет.
Нужна помощь со стороны, я уже близка к отчаянью Sad
Суть проблемы - комментарии нормально отображаются в режиме предпросмотра, сохраняются в БД, показываются на главной (счетчик комментов под анонсом новости), но не видны в режиме полного нода. Никак и нигде. Ни в admin/content/comment, ни в версии для печати.

[Решено] Экспорт и импорт БД завершается крахом

14 ноября 2008 в 11:11

Добрый день!

Сайт построен на Drup6, находится на Мастерхосте. Работает без проблем.
Задача - "вывести" этот сайт.

Файлы переносятся отлично.
Однако, если делать экспорт БД и потом импорт ее (через phpmyadmin все делалось), вылетает ошибка.

Скрин прикрепляю сюда.

Сразу скажу, переносил уже много друпал-сайтов (5й версии), никогда не было проблем, а с шестеркой не выходит.
Очень прошу помочь!

Кириллица в именах и названиях групп

14 ноября 2008 в 9:32

в друпал 6.6 не создаются русские логины (User Names can contain only letters, numbers and spaces) и органик груп (Заголовок can contain only letters, numbers and spaces).
Это извесная проблема, или только у меня? Smile

Breadcrumb в 6-ке

14 ноября 2008 в 6:41

1) Обнаружил, что в 6-ке для элементов меню не строится автоматически breadcrumb. Строится только для меню navigation. Для фикса есть модуль menu_breadcrumb.

2) Наконец-то портировал свой модуль node_breadcrumb на 6-ку. В частности, добавил и вышеупомянутый фикс (это пара строк).

Модуль позволяет «прицепить» все ноды определенного типа или категории к пункту меню, чтобы при их просмотре показывался breadcrumb ведущий к этому пункту меню, и само меню разварачивалось к нужному пункту.