rumzes: Блог

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

Темизация и производительность. Как правильно темизировать меню?

27 ноября 2009 в 11:22

Приветствую сообщество!

Не так давно возникла необходимость темиции меню — нужно было добавить js tooltip с описанием для каждого пункта. Руководствовался данной темой (единственное, что удалось найти).

Суть способа. Создаем меню, создаем отдельный шаблон с именем block-menu-menu-name.tpl.php для блока этого меню, в который вставляем код следующего содержания:

<?php
$menu 
menu_navigation_links('menu-name'); //получем массив с элементами меню
print get_themed_menu($menu); // выводим меню, темизируя его своей функцией get_themed_menu()
?>

В тоже время мы можем написать в файле темизации блока следующий код:

<?php
print $block->content;
?>

и получим стандартный вывод меню Drupal.

Тоесть получается, что содержимое блока уже было вычислено(был сделан запрос к базе, сформирован и темизирован HTML код меню). И после этого мы повторно делаем тоже самое, только по-своему.

Может конечно, я чего то не понимаю, но не проще ли создавать обычный блок, в котором напрямую вызывать код, описанный в первом примере, а блок меню просто не показывать ни в одном регионе, для того, чтобы его содержимое не вычислялось?

Поделитесь своими соображениями по данной теме...

Модуль i18n, его возможности по переводу блоков, созданных на основе Views

12 октября 2009 в 16:50

Приветствую уважаемое сообщество!

Создаю сайт, на котором должно быть несколько языков. Поставил модуль i18n">http://drupal.org/project/i18n]i18n[/module].
В плане перевода типов материалов — все просто, прозрачно и удобно. Но с блоками и меню дело обстоит похуже...

При создании нового блока есть возможность указать, что его содержимое можно будет переводить и после сохранения можно будет сходить в admin/build/translate/search, найти строки и перевести. Т.о. есть один блок + переводы к нему, которые показываются в зависимости от текущего языка. НО для блоков, созданных при помощи Views">http://drupal.org/project/views]Views[/module] такой опции нет. Единственный выход, который вижу — создавать по одному блоку для каждого языка. Суть проблемы в том, не получается перевести заголовок блока... Кто-то находил выход из такой ситуации?(без создания блоков для каждого языка)

Views и выбор терминов с подсчетом нод + удобный интерфейс(модуль) для поиска

6 октября 2009 в 11:29

Приветствую!

Возникло два вопроса, один по настройке модуля views, второй по поиску модуля. И так по порядку:

1. Есть задача, в рамках которой нужно сделать выборку терминов одного словаря(каждый термин — ссылка на категорию) + напротив каждого термина вывести число нод, с данным термином(ноды определенного типа). Тоесть должно получиться что то вроде:

термин_1 (67)
термин_2 (19)
термин_3 (45)

Пробовал при помощи views, но не осилил. Мне кажется, что задача очень даже стандартная и такой мощный модуль должен её решать, но что-то никак не получается... Как это можно сделать при помощи views?

2. Есть необходимость сделать на сайте поиск. Суть в том, что есть n-ое число типов материалов + по n словарей с термиами, для каждого из них. По большому счету, стандартный поиск вполне устраивает, НО есть два момента:

— Он показывает стразу все термины и все типы материалов, по которым можно искать. Тоесть пользователь может выбрать термины, из словаря, который НЕ привязан к типу материала, по которому он собирается искать.
— Сам интерфейс не совсем удобный(в визуальном плане)

Какие модули для расширения функциональности и более гибкой настройки поиска Вы использовали и можете посоветовать?

Ограничить вывод ссылок на ненужные CSS

28 сентября 2009 в 9:53

Приветствую уважаемое сообщество!

Тема скорее всего уже поднималась, но что-то ничего не могу по ней найти. Заметил, что в заголовок каждой страницы подключается моного того, что мне не нужно:

<link type="text/css" rel="stylesheet" media="all" href="/modules/admin_menu/admin_menu.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="/modules/cck/theme/content-module.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="/modules/filefield/filefield.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="/modules/node/node.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="/modules/system/defaults.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="/modules/system/system.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="/modules/system/system-menus.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="/modules/user/user.css?S" />
<link type="text/css" rel="stylesheet" media="all" href="/themes/custom/style.css?S" />
<script type="text/javascript" src="/misc/jquery.js?S"></script>
<script type="text/javascript" src="/misc/drupal.js?S"></script>
<script type="text/javascript" src="/sites/default/files/languages/ru_3eb4851d7bf9a585914b6d4f8db75d31.js?S"></script>
<script type="text/javascript" defer="defer" src="/modules/admin_menu/admin_menu.js?S"></script>
<script type="text/javascript">
<!--//--><![CDATA[//><!--
jQuery.extend(Drupal.settings, { "basePath": "/", "admin_menu": { "margin_top": 1 } });
//--><!]]>

После установки модуля Term Display часть терминов отображается до содержимого, а другая часть после...

27 августа 2009 в 15:50

Описание собственно в теме. В шаблоне node.tpl.php идет простой вывод $terms. Поэкспериментировал и выяснил, что термины содержатся в переменной $content. Что произошло непонятно. Помогите разобраться...

Стоит модуль CCK.

Группировка терминов при выводе материала(с показом принадлежности к словарю)

21 августа 2009 в 13:54

Уважаемое сообщество!

Столкнулся с такой задачей, для которой на могу найти решения:

Есть тип материала, к нему привязано несколько словарей(как множественный выбор, так и единичный).
При просмотре материала теги из всех словарей отображаются вместе, что не совсем правильно. Решил найти способ разбить теги по группам:

Теги из словаря_1: Тег_1_1, Тег_1_2 и т.д.
Теги из словаря_2: Тег_2_1, Тег_2_2 и т.д.

Певое, что удалось сделать — скачать модуль Taxonomy hide. Но он не решил задачу, поскольку только группирует таги, при этом не показывая их принадлежность к словарю.

Далее нашел решение Content Taxonomy. Коротко о модуле — дает возможность создавать через CCK поля для материалов, в которых будут тармины из определенных словарей, привязанных к данному типу материала. НО провозившись определенное время с настройками мне так и неудалось выводить термины ввиде ссылок(выводит обычным текстом).

Собственно вопрос: как решить подобную задачу? может кто использовал Content Taxonomy? Если использовал, поскажите как сделать вывод ссылками... Может кто решал задачу иначе, подскажите решение.

В погоне за красивыми URL(алиасы для терминов таксономии)

30 июля 2009 в 17:48

Приветствую сообщество!

Столкнулся с такой проблемой(вечное и прекрасное — URL алиасы для терминов таксономии)
Нужно было сделать примерно следующее:

Небольшой сайт, с разделом портфолио, в котором собраны работы компании. Все работы разбиты по категориям.
Пути для просмотра материалов должны были выглядеть примерно так:

www.example.com/portfolio — все работы с постраничным выводом
www.example.com/portfolio/flats — только работы по ремонту квартир
www.example.com/portfolio/offices — только работы по ремонту офисов
Всего категорий около 10.

Хотелось найти простой способ отобразить все это при помощи Views+Taxonomy. Решение нашел следующее...
Создаем словарь с необходимыми терминами(категориями). Для каждого термина задаем синоним(он будет URL алиасом для данного термина)

Создаем View(фильтр по типу материала + аргумент — term synonym). Все работет нормально, вот только есть одна проблемка... Есть термин «ремонт квартир»(синоним «flats»), по адресу www.example.com/portfolio/flats мы видим список нужных нам нод, но заголовок View при этом не «ремонт квартир» а значение аргумента, тоесть «flats».

Решается это следующим образом.

В заголовок View пишем код:

<?php
  $ArrayOfPath 
explode("/"$_GET['q']); 
    if (isset(
$ArrayOfPath[1])) {
      
$TermSynonymObject taxonomy_get_synonym_root($ArrayOfPath[1]) ; 
      
$TermNameObject taxonomy_get_term($TermSynonymObject->tid) ; 
      
drupal_set_title($TermNameObject->name) ;  
    }
?>  

Вместо стандартного пути taxonomy/term/[id] нужно выводить ссылку на view с аргументом

24 июля 2009 в 11:39

Приветствую уважаемое сообщество!

Не могу решить такую задачу.

Дано:

Словать с терминами:

Область_1
— Город_1
— Город_2
— Город_3
(Области, для каждой несколько дочерних терминов городов)

Тип материала: к нему привязан данный словарь.

Сайт студии архитектурного дизайна и дизайна интерьеров

9 июля 2009 в 17:05

Доброго времени суток.

pro-idea.ru — сайт дизайн студии(архитектура и интерьер). Первый сайт на drupal. Не судите строго. Хотелось бы получить справедливой критики. Что не так и как было бы лучше.

Скрыть стандартные пути /admin, /user, /node

16 июня 2009 в 15:24

Приветствую Уважаемое сообщество.

Тема поднималась не один раз, но чего то однозначного найти не удалось, несмотря на то, что данная проблема данный недочет drupal давно известен.

  1. Содержимое страниц с адресами site.com и site.com/node абсолютно одинаковое
  2. При использовании алиасов путей, все узлы остаются доступными по адресу node/nid, а хотелось бы видеть 404(что вполне логично)
  3. В дополнение ко всему — /admin и /user... Что делать непонятно... Если к примеру есть два шаблона(один для админки, второй для сайта), то если не авторизовавшись набрать адрес /admin, то будет 404, но в теле шаблона админки, а не шаблона сайта, как хотелось бы...

По сути все сводится к двум основным моментам:
— нужно показывать 404 в случае, если в пути есть «node».
— по поводу /admin и /user трудно сказать...

Подскажите пожалуйста, кто сталкивался с решением данных задач и каким образом победил...?

Views - задать содержимое тега title, отличное от заголовка view

23 мая 2009 в 10:01

Здраствуйте!

Никак не могу найти решение такой проблемы:

нужно каким то образом задавать содержимое тега title при просмотре view(отличное от названия view).

Пробовал в настройках view(Заголовок: PHP code) указывать:

<?php

$head_title = "custom_title_string" ; // $head_title - переменная в шаблоне, содержащая строку заголовка...

?>

но заголовок не меняется...

Подскажите пожалуйста решение.

Drupal API + CCK поле(динамически сформированный выпадающий список)

21 мая 2009 в 13:56

Здравствуйте!

Решения, а точнее информации для него не смог найти на API.drupal.ru
Есть определенный типа материала, к которому при помощи CCK привязано дополнительное поле(выпадающий список). Нужно чтобы список формировался динамически при помощи php кода введенного в поле "допустимые значения"(страница настроек CCK поля).

views - аргументы + cck

19 мая 2009 в 14:09

Доброго времени суток!

Вопрос мой собственно не о том как сделать, а о том, наcколько рационально сделано...

Стояла задача создать раздел портфолио с разбивкой материалов по годам и типам(type_1, type_2, type_3). Использую Views, CCK. Создал новый тип материала и добавил поле - type, определяющее отношение к типу(выпадающий список: type_1, type_2, type_3)

Создал views и два меню...

Меню.Портфолио по годам:

2000 - portfolio/2000 (ссылка в меню на view, с фильтром по значению стандартного поля "дата публикации = 2000")
2001 - portfolio/2001 (ссылка в меню на view, с фильтром по значению стандартного поля "дата публикации = 2001")

Меню. Портфолио по типам:

тип_1 - portfolio/type_1 (ссылка в меню на view, с фильтром по значению поля type_1)
тип_2 - portfolio/type_2 (ссылка в меню на view, с фильтром по значению поля type_2)
тип_3 - portfolio/type_3 (ссылка в меню на view, с фильтром по значению поля type_3)

Pathauto - шаблон пути для типа материалов

25 апреля 2009 в 9:31

Доброго времени суток.

Не могу разобраться с настройками модуля Pathauto... Можно ли настроить его таким образом, чтобы он создавал разные синонимы для типов материалов. К примеру:

Тип материала - новости, шаблон пути для материалов данного типа: site.com/news/mm-dd-yyyy

Заранее спасибо за помощшь.

Раздел Портфолио - views + dfgallery

20 апреля 2009 в 10:38

Здравствуйте!

Подскажите пожалуйста, возможно ли реализовать подобный функционал при помощи views и dfgallery:

Нужно сделать раздел портфолио. Нажимаем на ссылку в меню(Портфолио) и появляется подменю: архитектура, интерьер.
По умолчанию активным становится к примеру - архитектура... На странице видм список ссылок, каждая из которых является
названием ноды. Провалившись по одной их ссылок, имеем возможность посмотреть содержание ноды(определенное число картинок - просмотр через flash).

Заранее спасибо за помощь.

Как создать ссылку в меню на views?

18 апреля 2009 в 12:04

Здравствуйте!

Поставил views... создать вьюшку с постраничным выводом материалов определенного типа и сортировкой по дате.
Но ни как не могу сделать ссылку в меню на данное вью. Что нужно указвать в пути...? И есть ли возможность сделать что то вроде www.site.com/news ?

Кодировка и Drupal

7 апреля 2009 в 9:40

Здравствуйте!

При работе с шаблоном, возникли проблемы. В файл шаблона(page.tpl.php) добавил пару дивов и текст(напрямую указано в файле). При загрузке страницы текст, вбитый руками отображается крокозябрами... Раньше слышал, что в друпал есть какие то проблемы с кодировками страниц и базы... Где об этом можно почитать и какие проблемы могут быть при переносе на хостинг...?

Album photos - как убрать последние галлереи и фото со страницы

4 апреля 2009 в 10:30

Доброго времени суток!

Поставил галереи Album photos и не могу разобраться. В меню сделал ссылку(photos), перехожу по ней - все нормально, галереи показываются, вот только сверху последние добавленные изображения + последня добавленная галерея, которые мне совсем не нужны... Подскажите, как сделать так, чтобы отображался только список галерей, без последнего добавленного?
И как убрать ссылки из меню Navigation(последние альбомы и фотографии)?

Ряд вопросов о друпал(SEO, галереи, визуальный редактор)

3 апреля 2009 в 13:23

Всем доброго времени суток!

Вчера поставил Drupal(6.10) и потихоньку начал разбираться - сразу возникло множество вопросов. Прошу помощи у знатоков.

В частности интересуют:

1. SEO.
- можно ли в друпал управлять заголовками страниц при просмотре материалов(чтобы для каждой страницы определить содержимое между тегами независимо от названия материала + разные keywords и description)

2. Галереи.
- где можно скачать модули галерей? И вообще как можно организовать галереи в друпал. На данный момент мне нужно сделать что-то вроде этого __(samarskiy-dom.ru/component/option,com_rsgallery2/Itemid,23/), только с разбивкой по типам(ремонт, дизайн, строительство например... + LightBox).

3. Визуальный редактор.
Где можно взять визуальный редактор, который на этом сайте используется? Smile

4. Как привязать меню для отдельной страницы сайта или к нескольким?