Grig: Блог

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

Все родители термина для ноды в keywords, модуль Nodewords

25 сентября 2009 в 21:41

Привет!
На сайте есть словарь, в котором термины расположены иерархически. Все статьи принадлежат самым глубоким терминам. Установил модуль nodewords, drk.xbkавтоматическое добавление терминов из этого словаря в кейвордс. Все бы хорошо, но он добавляет в кейвордс только самый глубокий, конкретно принадлежащий ноде термин, а родителей - не пишет. И я че то поковырялся, да так и не понял, как это исправить. Может кто сталкивался уже с такой задачей?
Помогите пожалуйста)

иерархия в таксономии

19 сентября 2009 в 23:00

У меня на сайте (между делом, доброго времени суток, уважаемые!) есть словарь с терминами, расположенными иерархически - то есть например россия-архангельская область-архангельск. При создании использую модуль hierarhial select, выбрана функция Save only the deepest term (то есть статья принадлежит только одному выбранному термину). Если выбрать Save term lineage - глючат счетчики статей и че то еще подглючивает, поэтом хочу сделать с первым вариантом сайт.
но проблема в том, что когда я прошу движок вывести мне статьи, принадлежащие например термину архангельская область(при том, что статья принадлежит термину архангельск) - он эту статью не видит. То есть не полчается сделать так, чтобы при обращении к термину в духе /term/123 выводились статьи не только прямо принадлежащие этому термину, но и его "детям"

с другой стороны, выбирая пункт сохранить линейку терминов я (если я правильно все понимаю) приписываю эту статью каждому из терминов в гениалогическом стволе(хе-хе), поэтму count_nodes считает ноды, принадлежащие например термину Россия, неправильно, учитывая одну и ту же статью несколько раз. Плюс бессистемно модуль taxonomy_breadcrumb то видит, то не видит самый глубокий уровень(то есть например для одной ноды бредкрамб выглядит как Россия-архангельская область-архангельск, а для другой Россия-архангельская область, последний термин куда то теряется)
Очень рассчитваю на вашу помощь!

передать значения из _validate в _submit

6 августа 2009 в 22:55

Доброго вечера!
Пытаюсь сделать обработчик для формы node_form который бы при введении в поле автор несуществующего автора сам бы создавал автора с заданным именем и мылом. Подсунуть свой прорялщик и обработщик получилось, но не получается передать node->name из my_node_form_validate в my_node_form_submit. И не получается добавить в массив $node какой то новый элемент в котором бы при проверке в _validate помечалось бы, что нужно создать автора. Пробую в _submit вывести $node->name - ничего не выводится(
код сабмита такой например:

<?php function my_node_form_submit($node$form = array()){
    global 
$user;

  

// Convert the node to an object, if necessary.
  
$node = (object)$node;
    
// Validate the "authored by" field.
    
if ($node->new_author == 1) {
      
// The use of empty() is mandatory in the context of usernames
      // as the empty string denotes the anonymous user. In case we
      // are dealing with an anonymous user we set the user ID to 0.
   
echo "metka".$node['name'];
    exit;
   }else{
   echo 
"figa!".$node['name'];
    exit;
   }

  
 }
  
  function 

my_node_form_validate($form, &$form_state) {
  
my_node_validate($form_state['values'], $form);
}
              function 
my_node_validate($node$form = array()) {
    
// Convert the node to an object, if necessary.
  
$node = (object)$node;
  
$type node_get_types('type'$node);

  

// Make sure the body has the minimum number of words.
  // TODO : use a better word counting algorithm that will work in other languages
?>

переопределение node_validate, хуки и все все все

24 июля 2009 в 17:59

Привет.
Нужно мне, чтобы движок не ругался, когда в поле автор - незнакомое сайту слово.(То есть если я(админ) при создании ноды в поле автор указываю несуществующего пользователя, создавался пользователь с каким нить условным мэйлом и паролем и статья приписывалась ему. К такому решению я пришел, пытаясь увязать логику друпала с необходимостью админом создавать статьи под чужими незарегистрированными в друпале именами, притом чтобы для нод, созданных пользователями ссылки типа "автор" на их профайл работали. Поломал голову над тем, как это сделать с помощью ССК и ниче путного в голову не пришло, может быть и есть решение).
Руки зачесались прямо в модуле node дописать в функции node_validate при невыполненной проверке на существование автора запрос к базе, создающий нового пользователя. Но, во-первых, тыщу раз слышал, что сами модули править - преступление, а во-вторых - задумался о безопасности(с какими полями создавать пользователя и делать ли это "тупыми" самопридуманными запросами или отрыть функцию создания пользвателя и дать ей аргументы). Так вот, попробовал в template.php создать функцию themename_node_validate - нет эффекта, переименовал ее в node_validate - естественно вылезла ошибка cant redeclare...
Как быть?
Сколько не напрягал мозг над обрывочными сведениями о хуках, которые находил - не понял их идеи и как они должны мне тут помочь.
Помогите, уберегите от некрасивых решений! а то ща в .module наисправляю и пользователя создам топорно, а не функцией правильной - и буду потом жалеть и париться из-за проблем с обновлениями.

второй глупый вопрос.Image Attach

20 июля 2009 в 20:54

хочется оттемизовать то, как в модуле Image Attach выводятся тамбнэйлы картинок на страницу со статьей: сделать ссылку не на ноду, а на большое изображение, запихнуть в правильное количество

Hierarchical Select некоторые проблемы.

20 июля 2009 в 17:05

Доброго дня, ребята!
По вашему свету поставил себе модуль heirarchial select и он мне сходу нарешал кучу проблем, спасибо!
Но в процессе выявилась некоторая к примеру несовместимость с функцией taxonomy_term_count_nodes. Если поглядеть апи, видно, что он считает все дочерние ноды. При вбранной в Hierarchical Select функции Save term lineage счетчик суммирует количество нод по такому механизму:
например у меня есть одна нода в россия(2)->москва(2)->дом7(1) и одна россия(2)->москва(2)->дом1(1). Мне нужно посчитать количество нод, приходящееся на Россию. при вышеуказанных настройках term_count_nodes(ид термина "россия") выдаст 2+1+1=4 вместо првильных 1+1=2. Как быть?
При выбранной в Hierarchical Select функции Save only the deepest term все считается хорошо, но вот только при этом я не могу сделать выборку по любому из пунктов иерархии, то есть например вывести все статьи, принадлежащие к москве(нода пропадает из ленты по такому к примеру адресу http://site.ru/taxonomy/term/1). нода перестает принадлежать к москве и принадлежит тока к дому7 например.
Подскажите - в чем я не прав? Может, неправильно использую опции Save term lineage и Save only the deepest term ?
А еще в части статей бредкрамб выглядит так:россия->москва->дом7 а в другой - россия->москва хотя во втором случае дом при создании тоже указан.
Жду вашей помощи, заранее спасибо!

реализовать адрес

16 июля 2009 в 16:35

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

ТЕмизация страницы добавления ноды

25 июня 2009 в 23:23

Хочу разрешить пользователю добавлять статьи. Вывожу для зарегистрированных пользователей ссылку http://www.site.ru/node/add/story. Но там - дизайн админки, довольно кривоватый и в любом случае не такой, какой мне нужно. Как перекрасить эту страницу, вычистить ненужный текст оттуда и так далее?

самые последние рассказы, самые популярные рассказы

25 февраля 2009 в 13:11

Првиет опять! Прошу прощение за нубство, никак не могу ниче найти в поиске, может из-за того, что не зная спец терминологии составляю запросы по идиотски6)

Сниппет комментариев.

24 февраля 2009 в 19:55

Привет снова! Подскажите способ вывода формы комментариев сниппетом(если я првильно понимаю это слово:), как вот здесь http://drupal.ru/node/11458 Wizard85ом сделан пример для формы авторизации.
И еще то же самое, но касаемо самих комментариев. Как их выводить примерно тем же способом, что и выше, проверяя, есть они или их нет?

ЗАранее спасибо!!!

taxonomy_get_tree() сортировка по количеству нод

19 февраля 2009 в 13:36

В моем случае необходимо сортировать термины словаря, выведенного этой функцией, двумя способами в зависимости от GET переменной. Либо по name, либо по количеству нод для этого словаря. Решил дописать функцию и ввести в нее новый параметр $order, тнао ким способом я смогу лишь выбирать, сортировать ли мне по имени, ид или весу.
А вот по количеству нод - начинается сложность. Посчитать количество нод у термина вроде как просто taxonomy_term_count_nodes($term->tid), но ведь сделать это можно уже после выполнения секвел запроса и создания двухмерного массива $term. Таким образом нужно либо пересортировать этот самый массив, либо создать какой то хитрый запрос mysql, чтобы считать ноды его средствами(в mysql же тоже есть COUNT, так?). Так вот мозгов мне на это че то никак не хватит... Подскажите способы решения? Или, возможно, есть какие то законные методы, без переписывания функции?

P.S. А движок таки - супер. И раздел www.api.drupal.ru - тоже! Рай для программиста, тока нужно попривыкнуть к функциям

Таксономия и рубрикатор

10 февраля 2009 в 21:48

Привет! В Друпале я, право слово, слаб пока, и помощи прошу от Вас.
Я создаю словарь с уникальными для каждой story терминами. И я хочу вывести:
на главной странице блок типа
Австралия (23)
Австрия (2)
Армения (4)
Белоруссия (35)
Какой модуль надо качать?

Другой вопрос - как организовать новости и раздел статьи - то есть как сделать блоки с выводом анонсов всех статей опеределенного типа(например page) и соответсвенно страницу с выводом этих анонсов с сортировкой по дате?