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

Аватар пользователя Dima

Программное cоздание блока меню на основе таксономии с учетом иерархии c jQuery в Drupal 6

Вообщем: на сайте есть раздел помощи, сформирован с помощью views, и принимающий tid, в качестве аргумента.

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

Решение:

Аватар пользователя Dima

Разница между hook_schema() в 6 и 7 Drupal

Потратил некоторое время борясь с установкой своего модуля для шестого друпала. Оказывается, hook_schema() не вызывается автоматически в drupal 6, для установки своей таблицы нужно вызвать drupal_install_schema() в хуке hook_install(). В drupal 7 hook_schema() вызывается автоматически при включениее модуля через административный интерфейс.

Аватар пользователя Dima

Программно отправить почту на Drupal 7

Система отправки почты в Drupal 7 изменилась, теперь для программной отправки писем нужно использовать функцию drupal_mail_system(), которая возвращает объект, который позволяет форматировать и отправлять почту с сайта.

  1. $my_module = 'popupregistration';
  2. $my_mail_token = 'popupregistration activation mail';
  3. $from = variable_get('system_mail', '');
  4. $message = array(
  5. 'id' => $my_module . '_' .

Аватар пользователя Dima

Проблема с кросс доменной авторизацией на drupal 6.

При разработке сайта на котором предусматривался мультисайтинг и кросс доменная авторизация, столкнулся с проблемой: авторизированный пользователь на одном сайте должен был оставаться таковым и на других сайтах данной группы, чего в реальности не происходило, хотя все делал по документации. То есть общие таблицы users, sessions, authmap а также общая для всех переменная $cookie_domain. Выяснилось что проблема в неправильном примере содержания переменной $cookie_domain который приводится в файле default.settings.php.

Аватар пользователя Dima

Вывод терминов таксономии с субкатегориями и кол-вом матереалов в них

  1. <?php
  2. $vid = 9; /* <---- put correct vocabulary ID here */
  3. $terms = taxonomy_get_tree($vid);
  4. print '';
  5. foreach ( $terms as $term ) {
  6. $tcount = taxonomy_term_count_nodes($term->tid);
  7. $children_terms = taxonomy_get_children($term->tid);
  8. if ($term->depth == 0) {
  9. print "";
  10. print l($term->name." (".$tcount.")",'taxonomy/term/'
  11. .

Аватар пользователя Dima

Программно вывести раскрытые фильтры (exposed filters) views

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

  1. $view = views_get_view('your_view_name'); // your_view_name - машинное имя вашего представление, можно узнать перейдя по ссылке на редактировании представления (последняя составляющая адреса)
  2. $view->set_display('default'); // устанавливаем текущий способ отображения, может быть page_1, page_3, block_2 и.т.

Аватар пользователя Dima

Как отцентрировать блочный элемент по середине родительского блока?

Если мы изначально знаем ширину элемента который нужно отцентрировать в пикселях и она будет постоянной, тогда все просто, справа и слева авто отступы:
{margin-left: auto; margin-right: auto;}
Но как же отцентрировать элемент внутри родительского если ширина у него будет меняться?
В этом случае тоже есть решение.
Для адекватного отображения в IE нужно завернуть элемент который будем центрировать в span, после этого, присваиваем ему {display: inline-block;}, а родителю {text-align: center;}.

Аватар пользователя Dima

Ура!!! Сайт заработал!!!!

Наконец-то заработал после некоторой паузы мой сайт! Проблемы были связаны с хостингом но теперь все решилось я буду продолжать публиковать статьи.

Страницы