Подстановка значений полей из связанной ноды после выбора в Node Reference Autocomplete

Прислано: STINGER

пн, 14/05/2012 - 12:48

Здравствуйте. Подскажите, пожалуйста, как сделать так, чтобы при создании материала после выбора связанной ноды в CCK-поле Node Reference с автозаполнением в определенные поля этой формы автоматически подставились значения из определенных полей связанной ноды. Т.е. к примеру, если была выбрана связанная нода, то в поле "номер телефона" подставился телефон из соответствующего поля в связанной ноде, если в той ноде такое поле было заполнено.

Автоматической создание темы на форуме при создании ноды определенного типа + комментарии из темы в ноду

Прислано: STINGER

ср, 30/11/2011 - 16:21

Здравствуйте. Сейчас у меня стоит друпаловский сайт с форумом phpBB. Связаны они вместе с помощью модуля phpBBforum Integration. По ряду причин планирую полностью перенести форум на Друпал, но вот саму схему работы форума и сайта хочу оставить и даже немного расширить. Т.е. сейчас настроено все так, что при создании ноды определенного типа, автоматически создается тема на phpBB-форуме и все сообщения из этой темы прикрепляются к ноде в качестве комментариев. Хотелось бы аналогично сделать и с форумом на Друпале.

Основные требования к функционалу:

  1. Возможность подключения этого функционала к определенному контент-тайпу в его настройках (как, например, Content Profile добавляет чекбокс в настройки типов материалов)
  2. Возможность настройки содержания первого сообщения в автоматически создаваемой связанной теме форума (брать текст из тизера, тела, или определенного поля материнской ноды): делать глобальные настройки в настройках контент-тайпа + переопределение при необходимости в каждой ноде отдельно.
  3. Возможность указания в настройках контент-тайпа в каком подразделе форума будут создаваться темы, при создании нод этого типа, + возможность переопределения этой опции в каждой ноде отдельно.
  4. Возможность задания шаблона заголовка связанной темы форума. Например: "Обсуждение материала: [node-title]".
  5. Возможность выбрать "обновить" или "не изменять" тему форума при последующем редактировании главной ноды (т.е менять или нет первое сообщение темы форума).

Views: page-view_name.tpl.php для темизации страниц определенного вида представления

Прислано: STINGER

вт, 11/10/2011 - 22:43

Здравствуйте, уважаемые друпаллеры. Прошу подсказать в чем я ошибся:
Хочу сделать отдельный шаблон для темизации постраничного вывода определенного вида представления. В своем модуле делаю phptemplate_preprocess_page таким образом:

<?php
function mymodule_preprocess_page($variables) {
  if (isset(
$variables['view']) && $variables['view']->name == 'view_name') {
    
$variables['template_files'][] = 'page-view_name';
  }
}
?>

По моей логике, вроде бы, все правильно, но темизация в page-view_name.tpl.php на деле не работает. Соответственно что-то не так, а что не могу пока понять. Буду рад дельным советам.

Views: ограничение количества элементов на 1 странице списка нод

Прислано: STINGER

вс, 09/10/2011 - 12:08

Здравствуйте. Вопрос такой: как ограничить количество элементов, выводимых именно на первой странице списка нод, сделанного с использованием Views. На всех страницах начиная со второй количество элементов равно, к примеру, десяти. А вот на первой странице нужно вывести только 2-3 элемента. Как это сделать?

[РЕШЕНО] Как сделать темизацию формы node_form в зависимости от типа материала

Прислано: STINGER

вс, 18/09/2011 - 21:19

Здравствуйте. Хочу собственно темизировать формы добавления и редактирования нод в зависимости от типа материала. Темизацию, которая применяется ко всем типам материалов, прекрасно удалось сделать (по скринкасту на Drupal Dojo). Т.е. переопределил поля в template.php через функцию "имя-темы_preprocess_node_form" и вывел всё как нужно переменными в node-edit-form.tpl.php предварительно сказав об этом друпалу в функции "имя-темы_theme".

Но как сделать, чтобы Друпал понимал, что для рендеринга формы создания/редактирования ноды типа "story" нужно подгружать соответствующий темплейнт: node-edit-form-story.tpl.php?

[Решено] Не получается вывести содержимое региона в node.tpl.php

Прислано: STINGER

ср, 11/05/2011 - 18:13

Другие статьи по теме:

Здравствуйте, ребят. Пытаюсь создать регион и вывести блоки, приписанные к нему, сразу после основного текста ноды / или перед ним. Как многие догадались - для размещения рекламных блоков (AdSense, Директ и т.д.). Однако столкнулся с проблемой. Я перечитал кучу постов по этой теме здесь и на других ресурсах. Все сводится к тому, что нужно сделать следующее:

1. Прописать регион в файле "название_темы.info":

regions[after_node_content] = After Node Content

2. Прописать его переменную в template.php:

<?php
function название_темы_preprocess_node(&$variables) {
  
$variables['after_node_content'] = theme('blocks''after_node_content');
}
?>

3. И вывести его в node.tpl.php, в моем случае так:


<?php print $content?>
<?php 
print $after_node_content?>

Регион у меня создать получается, и блоки к нему приписываются, и если прописать его вывод в page.tpl.php, то блоки показываются. А вот через node.tpl.php не хочет ни в какую. Абсолютно ничего не выводится после основного содержимого ноды.

Еще один момент. Для разных типов содержимого у меня созданы отдельные node-*.tpl.php файлы, в частности вывод блоков такого региона мне нужно сделать в node-news.tpl.php. Кто что может подсказать?

Модуль встраивания (embedding) Gallery 3 в Drupal 6

Прислано: STINGER

пн, 30/08/2010 - 10:44

Здравствуйте. Хочу спросить сколько будет стоить создание модуля, который бы встраивал в страницу Drupal новую Gallery 3, подобно тому, как это делает модуль  phpBBforum Integration module, встраивая форум phpBB в Drupal.

Я говорю не о полной интеграции (как я понял для этого у Gallery 3 еще нет API), мне нужна пока хотя бы возможность встроить галерею в сайт. Принцип, по которому сделано встраивание форума phpBB в Drupal модулем phpBBforum Integration мне нравится и хотелось бы также сделать с Gallery 3.

"Избранная" мультиязычность сайта без префикса языка

Прислано: STINGER

чт, 03/06/2010 - 10:55

Здравствуйте друпалчане. Не знаю возможно ли такой сделать, может сочтете идею бредовой, но вот что я задумал:
Мне нужно реализовать мультиязычность, а если быть точнее, то двуязычность (русский, английский) лишь одного раздела сайта. Сам сайт ориентирован на русскоязычную аудиторию, но один его раздел (медиа/даунлоад-раздел) будет интересен посетителям со всего мира. И тут в качестве единого языка выбран английский.

Поэтому нужно сделать эту "двуязычность" только для этого раздела и, что самое главное, чтобы в URL страниц этого раздела не присутствовал префикс "en", если у пользователя в настройках выставлен английский. Т.е. мне хочется оставить адрес каждой страницы раздела единым для всех (в т.ч. и из-за подсчетов их просмотров, и из-за SEO), но при посещении страницы русскоязычными и англоязычными пользователями им показывалась информация на русском и английском языках соответственно. Т.е. как бы по типу локализации самого Друпала - одна и та же инфа переведена на несколько языков, но показывается пользователю только на том, какой выставлен у него в настройках.

Я делал обычную мультиязычность используя модуль i18n и т.д., знаю как она работает, поэтому не уверен, возможно ли сделать то, что выше описал. Но если возможно, просьба рассказать в этой теме как.
А пока, решил поставить Google Translate для этих целей...

Ajax подгрузка содержимого страниц (нод) во вкладки на jQuery tabs

Прислано: STINGER

пт, 22/01/2010 - 19:13

Итак, очередная моя идея, за помощью в реализации которой снова обращаюсь к друпаловскому комьюнити.
Собственно нужно реализовать подгрузку на Ajax содержимого страниц сайта, и распихать это все по вкладкам на jQuery tabs.

Сделать Ajax-подгрузку статических страниц типа example.html во вкладки не проблема. В интернете об этом куча инфы. Но как подгрузить друпаловскую страницу? В конструкции табов указание ее адреса в параметре "href" тега < a > как в случае со статической example.html не канает. Ну хз, у меня по крайней мере, может я чего-то не так делаю?

Если же я все таки прав, и так подгрузить страницу сайта на друпале не получится, то как это сделать? Почему это так критично для меня и не проще ли создать статический example.html? Потому что, как один из примеров, в одну из вкладок мне нужно подгрузить страницу с формой, созданной с помощью модуля  Webforms.

В общем, есть ли какой-то способ это сделать? Может, например, с помощью  Views и  Insert View? Первым создать вид, содержащий определенную страницу сайта, а с помощью второго вставить этот вид в определенной вкладке, вставив в нее [view:имя_вида]? Или есть проще способ? Т.к. под каждую страницу ненасоздаешься этих вьюсов, тем более в этом случае придется давать возможность создавать виды своим ньюсмейкерам, и, соответственно, рассказывать как это делать...

Форма авторизации и регистрации на jQuery Tabs + всплывающее модальное окно с ними

Прислано: STINGER

вс, 03/01/2010 - 12:21

Уже который день (с перерывом на праздники) бьюсь над переопределением формы авторизации и регистрации. В template.php переопределение сделал вот по этому принципу. Теперь когда в кастомный тэмплэйт страницы "user/login" вывожу:
<?php print drupal_get_form('user_login'); ?>
Все нормально получается. Когда добавляю ниже еще:

<?php  print drupal_get_form('user_register');  ?>
<?php  
print drupal_get_form('user_pass');  ?>

Все 3 формы выводятся одна под другой нормально.

Но идея была эти 3 формы распихать по принципу как они построены стандартно в друпале (табами), но сделать это с помощью jQuery Tabs. Так вот этого сделать ни в какую не получается. Строю сами табы, в каждую пару строк текста кидаю - все работает. Как только замещаю содержимое каждой из вкладок упомянутыми выше php-скриптами - перестает все работать. Вкладки показываются пустыми, формы логина/регистрации/смены пароля не показываются (при обновлении страницы показываются на секунду и пропадают). Пробовал с помощью jQuery UI, jQuery Tools - бестолку.

Все это затевается для того, чтобы реализовать всплывающую в модальном окне форуму авторизации/регистрации. Т.е. по нажатии на кнопку в шапке сайта, всплывает модальное окошко, в которое подгружается див со страницы "user/login", содержащий формы авторизации/регистрации/смены пароля во вкладках, переключающихся в реальном времени.

[Решено] 2-й домен для сайта: варианты привязки?

Прислано: STINGER

вт, 01/12/2009 - 22:57

Другие статьи по теме:

*Не знаю, правильно ли выбрал раздел для этой темы, но я посчитал этот больше всего подходящим.

Итак, сейчас делаю полный редизайн и крупное обновление контента своего сайта. Собственно решил все это дело обозвать запуском версии сайта 2.0 и для большего пафоса еще и новый домен прикрутить. Новый домен - сокращенный вариант старого, более длинного. Новый и более запоминаем, и вводить быстрее, и уже логотип сайта под него создан.

Весь вопрос встал теперь как его прикрутить:

  • вариант сделать с него 301-й редирект на старый домен - рушит всю задумку его создания, т.к. именно под ним планируется раскручивать дальше имя сайта (его сокращенный вариант, типа аббревиатура), а старый домен останется символизируя полное имя сайта.
  • вариант сделать его алиасом и чтобы в резульате можно было ходить по сайту как под старым так и под новым доменом выглядит подходяще, но пугает пенальтями за дубликат контента со стороны Гугла и остальных ПС. Хотя есть пример сайта-конкурента, можно сказать, - работает уже несколько лет под двумя разными доменами, и под обоими в топы вылазит.
  • вариант сделать 301-й редирект со старого домена на новый решит эти проблемы с поисковиками, а также проблему с кукисами (необходимость 2 раза залогиниваться, на том и на другом доменах), но создаст новые: в результате я ведь могу потерять свои места в выдаче поисковиков по ключевым запросам (?), вместе с пузомерками (?).

Реализация "active"-состояния нужного элемента меню

Прислано: STINGER

вс, 29/11/2009 - 23:45

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

Главный термин №1
-- дочерний термин (уровень 2) №1
-- дочерний термин (уровень 2) №2
----- дочерний термин (уровень 3) №1
----- дочерний термин (уровень 3) №2
-- дочерний термин (уровень 2) №3

"Главный термин №1" является одним из пунктов главного меню сайта.

Так вот хочу добиться, чтобы если какая-то из нод принадлежит "дочернему термину (уровень 3) №2" и пользователь находится на этой странице, в главном меню сайта пункт "Главный термин №1" имел CSS-класс "active", чтобы я мог задать ему соответствующий стиль.
Жду ответов. Заранее спасибо.

Войти на сайт с данными Twitter'а (Sign in with Twitter)

Прислано: STINGER

пт, 20/11/2009 - 22:48

Другие статьи по теме:

Здравствуйте. Хочу узнать у русскоязычного сообщества друпаллеров, есть ли на данный момент конкретное рабочее решение (модуль) для сайтов на Drupal реализации входа на сайт (под Друпалом) с помощью данных пользователя твиттера используя его API, ну и создавать соответствующий аккаунт в друпале на основе этих данных.

На Drupal.org я дос их пор не увидел решения конкретно этого вопроса, и, честно говоря поражен этому. Есть одноименный модуль (Twitter), но реализует смехотворное количество возможностей API твиттера, в т.ч. нет и того, о чем я сказал выше. Его 3-я версия якобы обещает такое, но она до сих пор в dev-версии, а я предпочитаю не юзать модули в dev-версии на рабочем сайте.

Поэтому спрашиваю тут, кто-то на своих сайтах на Друпале прикручивал такой функционал? Если да, то прошу выложить способ реализации этого в этой теме.

Просто я хочу практически полностью отойти от стандартной друпаловской формы регистрации, а чтобы новые пользователи создавали акки автоматом используя данные своих учетных записей на Twitter, Facebook, MySpace, Google, Yandex, Windows Live и т.д.

TimeCert — модуль интеграции с веб-сервисом по протоколированию даты создания контента

Прислано: STINGER

ср, 09/09/2009 - 17:47

На drupal.org есть модуль под названием TimeCert. Судя из его описания, сервис TimeCert предоставляет возможность по протоколированию даты создания какого-либо контента, вернее времени когда сервисом TimeCert был замечен этот контент у вас на сайте.

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

Я поставил этот модуль себе на сайт (предварительно проинсталлировав модуль Bitcache, который необходим для TimeCert'а). После одного запукска крона TimeCert'ом было проанализировано некоторое количество нод и в них просавились iframы c данными из TimeCert.

Собственно хотелось услышать мнение опытных вебмастеров и друпаллеров насчет этого веб-сервиса и конкретного его использования на Drupal. Кто этим пользуется или кто считает это необходимым? Оно конечно круто иметь подтверждение собственности определенного материала вроде как у надёжного третьего лица. Но что это даст с практической точки зрения? Не думаю, что буду судиться с кем-то за копипаст моих статей и новостей (которые хоть и копипастятся разными мелкими говносайтами в достаточном колличестве). Но вот перспективы использования данных с такого вервиса поисковиками внушают надежду... Я имею в виду, что было бы не плохо, хз как там на самом деле. Просто иногда бесят ситуации, когда в выдаче яндекса по определенному запросу какой-то говносайт со скопипастенным моим контентом вылазит выше, чем мой...

Как реализовать положение элемента относительно позиции курсора в пределах одного блока?

Прислано: STINGER

вт, 24/02/2009 - 21:35

Другие статьи по теме:

В голову пришла одна идея для сайта, но не знаю как ее реализовать.

Допустим, юзер водит мышью в пределах одного div'а и относительно положения курсора в нем соответственным образом перемещается какой-нибудь объект в этом div'е. Например, картинка. Кажется, что-то подобное можно реализовать с помощью jQuery... Вобщем, если у кого-то есть какието идеи по этому вопросу, прошу изложить в этой теме.

RSS-материал

Ссылки партнёров