IStranger: Блог

Главные вкладки

Views: вывод CCK-поля, содержащего HTML

25 сентября 2012 в 11:02

Доброго времени суток!
Прошу помощи, ибо где-то чего-то откровенно недопонимаю.
Есть некое CCK-поле (тип виджета: текстовое поле), содержащее разметку с HTML-кодом. Используется специальный формат ввода, далее запускается фильтр, который преобразует немного содержимое, на выходе получается HTML-код.

Если данное поле выводить через панель (шаблон материала), то все отлично и html-код выводится как и было задумано.
Однако, если попробовать вывести данное поле через views, то все теги срезаются и выводится чистый текст. При настройке поля в представлении, там есть формат (По-умолчанию/Обычный текст/Обрезанный текст). Все перепробовал, но теги срезаются, остается лишь "плоский" текст.

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

Проверка php-кодом аргумента Views

3 августа 2011 в 23:06

Доброго времени суток уважаемому Сообществу! Помогите пожалуйста в решении небольшой проблемы.
Есть материалы определенного типа от различных авторов, которые извлекаются при помощи Views. Чтобы вывести материалы определенного автора можно создать фиксированный аргумент (= ID авторизованного пользователя).
У меня стоит задача вывести все материалы, кроме тех, которые созданы авторизованным пользователем. Я так понимаю нужно сменить "режим проверки" аргумента, на "php-кодом". Получится что-то вроде этого:
 return ( (int)$argument !== (int)$view->$node->$uid );

Только вот из каких полей и методов состоит объект $view и как добраться до заветного поля $uid не знаю.
Подскажите пожалуйста, кто знает. Или есть более нативный способ настроить представление?

зы: со структурой объектов обычно вообще проблем не испытываю, просто печатаю var_dump( $view ) и print_r( $view ) и изучаю где какие данные хранятся, но в данном случае эти процедуры не проходят -> видимо выводл заблокирован. Может все же можно распечатать объект.

Перекрытие файла-шаблона.tpl.php модуля

14 июля 2011 в 15:07

Помогите пожалуйста разобраться с темизацией модуля.
Допустим есть модуль currencies, он использует родной шаблон во внешнем файле: sites/all/modules/currencies/cur-block.tpl.php.
Содержимое currencies.module

function currencies_theme(){
    return array(
        'currencies_block'  =>  array(                
            'arguments' => array( 'result'=> NULL ),    
            'template'  => 'cur-block'                  
        ),  
    );
}

Хотелось бы "по-людски" перекрыть этот самый cur-block.tpl.php, для чего копирую его в папку используемой темы:
sites\all\themes\pixture_reloaded\cur-block.tpl.php и изменяю.
Но Drupal никак не хочет его использовать его из папки активной темы. Где-что забыл понять не могу ))

Исправление ошибки в XML sitemap (6.x-2.0-beta3)

11 июля 2011 в 15:50

Искал модуль построения XML-карты сайта, решил скачать XML sitemap. После установки оказалось, что модуль при запуске Cron (т.е. при попытке построения кеша XML-карты) выдает ошибку:
Fatal error: Uncaught exception 'XMLSitemapGenerationException' with message 'Could not open file sites/default/files/xmlsitemap/NXhscRe0440PFpI5dSznEVgmauL25KojD7u4e9aZwOM/1.xml for writing.'
Типа сохранить не может свой кеш в файл.

Решение: http://www.rawrers.org/?p=98 , а оригинальный источник тут: http://drupal.org/node/920062.

Заменить строчку в файле xmlsitemap.xmlsitemap.inc:
<?php$this->uri = xmlsitemap_sitemap_get_file($sitemap, $page);?>
на эту строчку:
<?php$this->uri = $_SERVER['DOCUMENT_ROOT'].'/'.xmlsitemap_sitemap_get_file($sitemap, $page);?>

зы: Еще в этом блоге краткое напоминание о том, что после установки генерируется всего одна ссылка на главную страницу. Поэтому кроме самого модуля (базового) необходимо еще включить "xml sitemap node" и тогда в настройках типа материала "/admin/content/node-type/page" появляется селектор включения в общий кеш.
После изменения настроек не забываем запускать Cron (/cron.php), чтобы обновить весь кеш.

Управление доступом к просмотру определенного типа материала

11 июля 2011 в 8:54

Всем доброго времени суток. Такой вопрос: Допустим создано несколько типов материала: Запись в блоге, Новости и несколько ролей: менеджеры, стажеры. На странице "Права доступа" можно настроить права управления определенным типом материала (модуль node): созданием, редактированием, удалением, причем отдельно для каждого типа материала. Но вот управлять просмотром можно только в целом - "доступ к содержимому".
Как бы вот (допустим) разрешить просмотр менеджерам записей в блоге и запретить новости, а стажерам - запретить доступ к блогу и разрешить новости?
Помогите пожалуйста )