vestris: Блог

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

Файлы темы или template.php - к чему Drupal обращается в первую очередь ?? [РЕШЕНО]

6 января 2010 в 15:56

1. Есть файл template.php. Там определено использование шаблонов темы в зависимости от типа нод.
2. Есть page.tpl.php, где через include и в зависимости от нужных arg() подключаются *tpl.php.
3. Есть собственно файлы *.tpl.php. Из них часть подключается через переопределение в template.php, часть через назначение в page.tpl.php. Плюс page-front.tpl.php, которую друпал по умолчанию воспринимает как главную.

Подскажите пожалуйста порядок "восприятия". Если правильно понимаю, сначала идет template.php, затем page-front.tpl.php, затем page.tpl.php и node.tpl.php.

Для примера:

В page.tpl.php пишу: "если arg такой, делай то. else делай это". В данном примере "это" ограничивается не только условием if из page.tpl.php, но и установками template.php и друпала по умолчанию. Или не прав?

Freelinking - не работают ccылки по заголовку ноды

3 января 2010 в 18:38

По nid работают, а по nodetitle - нет. Остаются без изменений в виде [[заголовок ноды|заголовок в тексте]].
Что м.б. не так?

Исключить user==1 из отчетов по статистике - возможно? [РЕШЕНО]

2 января 2010 в 18:05

Можно ли исключить админа из статистики посещений и проч.??

М.б. есть соответствующий модуль, позволяющий это сделать;
либо альтернатива встроенному модулю статистики в drupal ??

"Добавить дочернюю страницу", "версия для печати", "кол-во просмотров" и т.д. - как убрать [РЕШЕНО]

30 декабря 2009 в 11:41

Можно ли как-то отключить отображение данных пунктов ("меню" внизу контента) на всех страницах сайта?

Вывести одну ветку подменю для нод определенного типа - возможно?

21 декабря 2009 в 22:26

Есть страница, на которую указывает пункт меню other-links.
Нужно чтобы на этой странице выводились дочерние пункты меню для данного пункта (по типу подшивки)

Т. е. меню выглядит так:

-A
--aa
----bbb
----bbbb
----bbbbb
--aaa
----ccc
----ccccc

Соотв., нужно на странице aa вывести подменю, т.е. только

----bbb
----bbbb
----bbbbb

Само "дерево" меню полностью на сайте нигде не используется.
Указанные страницы aa,aaa и т.д. все информационные (тип материала один у всех), но внизу к ним добавляются ссылки bbb,bbbbb... ccc и проч. на сторонние сайты "по теме" (потому собственно друпальская "подшивка" и не годится). Сейчас все ссылки добавляются "вручную" через редактирование контента.
Хотелось бы полностью отделить информационный контент от ссылок (для страниц определенного типа), чтобы редактируя меню other-links вида

--тема1
----ссылка1
----ссылка2
----ссылка3
--тема2

и т.д. пользователь т.о. получал возможность управлять всеми тематическими ссылками на определенных страницах сайта (соответственно типу материала).

Отсюда несколько вопросов:

1. Есть ли функция, позволяющая вывести одну единственную ветку меню (----) ?
2. Возможно ли сделать это один раз и для всех страниц определенного типа?
3. Существует (возможно) ли простое решение?

Буду признателен за любую помощь.

Можно ли вытащить ссылку из пункта меню по item id (прописать в тему сайта не всё secondary-links, а неск. его пунктов)??

21 декабря 2009 в 15:15

В теме сайта много красивостей, из-за чего проблема с меню. Т.е. ряд картинок являются ссылками, адреса которых прописываются прямо в файлы темы, а хотелось бы привязать эти ссылки непосредственно к secondary-links меню. Ввиду того, что указанные картинки (их количество не меняется, всего 5 шт. ) находятся в разных частях страницы, сделать это можно только прописав в тему ссылку на меню по item id. Ясное дело, новых пунктов в secondary-links после этого добавлять будет нельзя (в теме сайта secondary-links в своём "обычном" виде нигде не используются).

Пункт содержания подшивки = внешняя ссылка: возможно ли такое?

20 декабря 2009 в 14:33

Скажем, чтобы на странице настроек подшивки можно было указать внешнюю ссылку для перехода (т.е. чтобы часть пунктов содержания подшивки можно было превратить во внешние ссылки ). Либо иначе...
??

Может, есть модуль ?

Подскажите переменную в template.php [РЕШЕНО]

17 декабря 2009 в 11:35

Т.е. нужно в функции preprocess указать, что если страница - главная (site.com/), то делай A.
Для всех остальных страниц делай B.

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

Проверка на ява/ куки - есть ли такой модуль?

16 декабря 2009 в 21:31

Нужно чтобы при отключенных скриптах весь сайт не отображался, а отображалась только часть главной страницы.

Сейчас реализовано так, что

1. При заходе на любую страницу сайта ява-скрипт записывает куки с неким значением - A.
2. В template.php сначала идет проверка, есть ли такой A куки на компе у пользователя.
3. В css по-умолчанию установлена невидимость основной части главной страницы и видимость div-a с с сообщением "включите куки" (если не А)
4. Этот div-a при загрузке страницы скрывается опять-таки при помощи ява-скрипта. (если А).

Не получается грамотно прописать в template.php переадресацию со всех других страниц на главную, если отключены куки (замкнутый цикл выходит).
page.tpl.php для этих целей не подходит (через проверку $is_front), поскольку в template.php переназначены файлы темы (через preprocess, по типу материала)

Просьба ко всем поделиться любым опытом в реализации подобной штуки.
Есть ли более простое решение? Есть ли любое другое решение? М.б., есть готовый модуль?

Подскажите модуль email подписки на новости [РЕШЕНО]

3 декабря 2009 в 14:41

Нужно чтобы посетитель сайта без регистрации мог подписаться на новости (тип материала news), указав свой email.
Есть ли подобный модуль?

Как убрать ссылки из заголовков новостей на главной странице? [РЕШЕНО]

9 ноября 2009 в 17:33

Когда новость объемная, появляется ссылка "читать далее...". Нажав на нее пользователь переходит на отдельную страницу с одной этой новостью.

Проблема в следующем.
На главной странице ВСЕ заголовки новостей по умолчанию (переменная $content в page.tpl.php) являются такими ссылками.

Можно ли как-то убрать эти ссылки, сохранив сами заголовки?

Meta tags и кодировка (Яндекс и крякозябры)

8 ноября 2009 в 11:47

На сайте общая кодировка utf-8. Стоит модуль nodewords.

Гугл отображает description как нужно, а вот яндекс выдает крякозябры.
В чем м.б. причина?

Разрешения - подскажите модуль...

11 сентября 2009 в 23:26

Есть ли модуль, запрещающий (определенным ролям) доступ ко всем настройкам, которых нет в admin/user/permissions?

Баг в модуле profile

11 сентября 2009 в 11:21

When a new user registers they have certain fields which are presented to them at the point of registration, others can be filled in post-registration. This is configurable within Administer/Profiles... ->

Profile values inconsistently saved:

http://drupal.org/node/119114

Никто не решал это для D.6 ??

Дополнительные поля в профиле - уничтожаются при изменении роли?

11 сентября 2009 в 1:03

В профиле пользователя использованы дополнительные поля (ФИО, тел. и др.). При изменении роли пользователя, либо попытке его заблокировать админом значение этих полей по не понятным причинам стирается. Можно ли куда-то прописать эти поля, чтобы не стирались? И если можно, то куда?

Модуль User types - изменение типа пользователя

8 сентября 2009 в 14:28

В настройках list users данного модуля есть примечание, что

Changing the user type will lose data in fields which are removed.

При регистрации пользователь выбирает тип (скажем, "ученик" или "учитель"), после чего заполняет поля регистрационной формы в соответствии с выбранным типом. Затем после регистрации каждому типу автоматически присваивается роль с аналогичным названием "ученик" или "учитель".

Вопрос в том, что делать если ученик стал учителем. При смене типа все заполненные поля автоматически стираются и их нужно заполнять заново.

Нужно же чтобы при смене типа пользователя ему автоматически переназначалась соответствующая роль, удалялись ненужные поля для данного типа (скажем, для типа "учитель" не нужно поле "изучаемый предмет") и добавлялись новые поля, редактируемые в данных аккаунта (для того же типа "уичитель" нужно поле "преподаваемый предмет").

В частности, трудность заключается еще и в том, что используя модуль realname и поля для ФИО, они также удаляются при смене типа. Хотелось бы, чтобы эти поля оставались ВСЕГДА неизменны после первой регистрации вне зависимости от смены типа и роли.

Кто работает с модулем User types или может посоветовать что-нибудь - пожалуйста, буду весьма признателен.

Удаляются поля-profiles при активации пользователя админом. Что делать?

6 сентября 2009 в 14:54

Два вопроса -

1. Когда администратор активирует пользователя, то почему-то стираются все дополнительные поля-профили (вроде ФИО и т.п.) заполненные при регистрации. Помогите, пожалуйста, разобраться.

2. В письме "об активации учетного аккаунта" (после активации пользователя администратором) вместо пароля приходит !password. Почему так и можно ли как-то поправить?

Node.tpl.php - как "перекрыть"?

25 июля 2009 в 16:34

Что есть:

1. Файлы темы .tpl.php:

node-[type].tpl.php - для каждого типа материала свой темплейт (всего четыре типа на сайте)
page-front.tpl.php - для главной страницы также имеется свой темплейт
node.tpl.php - по идее темплейт ноды без указания типа (как бы "default")
page.tpl.php - этот темплейт также по идее нигде не должен использоваться кроме админ панели (= page-admin.tpl.php)

2. Главная страница по умолчанию в установках отлична от /node (указана пустая нода с заголовком и адресом index и типом материала "page" ).

Что нужно:

Настроить дизайн страницы открывающейся по адресу /node отличный от node-page.tpl.php. Пока же по адресу /node открывается именно этот темплейт.

Каким образом возможно - если возможно - это сделать?

P.S. Если есть альтернативы (через preprocess, custom page module и др.), буду весьма признателен за любой совет.

Проще говоря, нужен настраиваемый дизайн для:

1. страницы каждого типа ноды отдельно (тут всё более менее ясно)
2. страницы каждой ноды отдельно, в случае наличия которая "перекрывает" дизайн для соответствующего типа ноды
3. как бы главной страницы (например /node), куда осуществляется вывод контента с пометкой "на главную" и отличной от первой (page-front.tpl.php) страницы сайта

Можно ли это сделать "стандартными" средствами, либо как-то иначе? Пока делаю по старинке с include в page.tpl.php...

Please, help.

Исчезла кнопка сохранить (save) в комментах [РЕШЕНО]

16 июля 2009 в 0:47

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

Превью-кнопка есть, а сохранить для комментов к теме форума - нет. Никто не сталкивался с подобным??

user-pofile.tpl.php и контактная форма

13 июля 2009 в 23:45

IF ( $user->uid != $account->uid && пользователь отключил у себя контактную форму) {...}

Если возможно такое выражение, пожалуйста, подскажите как правильно написать.

Хотелось бы чтобы пользователь видел ссылку user/N/contact на данной странице в случае если она включена, и не видел - если выключена.

Все формы на одну страницу

12 июля 2009 в 21:22

Нужно вывести на страницу user->uid/edit все доступные для редактирования формы (в моем случае это собственно те, которые отображаются по умолчанию плюс из категории edit/userinfo).

Т.е. хотелось бы добиться, чтобы все формы редактировались на одной единственной странице. Мож. кто сталкивался с подобным?

Тема форума - как убрать "анонс в полной версии"

6 июля 2009 в 18:38

Как убрать поле с галочкой "показывать анонс в полной версии" при создании темы форума?

Закрыть доступ к drupal/user (securesite)

1 июля 2009 в 14:38

Установлен модуль securesite. Аутентификация через апач.
Нужно закрыть доступ к страницам user/ и user/login от всех пользователей кроме администратора.
Как это лучше сделать?