Drupal: Как создать тему для модуля - PullRequest
2 голосов
/ 23 марта 2010

Я пытаюсь создать тему вывода модулей. В частности, я работаю над http://drupal.org/project/service_links

Есть идеи, как это работает?

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

Ответы [ 4 ]

3 голосов
/ 23 марта 2010

Если вы хотите реализовать свою собственную функцию тематических ссылок, ссылки определяют 3 темы. В вашей теме вы должны реализовать следующее

  • yourtheme_service_links_build_link ()
  • yourtheme_service_links_node_format ()
  • yourtheme_service_links_node_format ()

    'service_links_build_link' => array(
      'arguments' => array(
        'text' => NULL,
        'url' => NULL,
        'title' => NULL,
        'image' => NULL,
        'nodelink' => NULL,
      ),
    ),
    'service_links_node_format' => array(
      'arguments' => array('links' => NULL),
    ),
    'service_links_block_format' => array(
      'arguments' => array('items' => NULL),
    ),
    

Взгляните на http://drupalcode.org/viewvc/drupal/contributions/modules/service_links/service_links.module?view=markup строку 389 и ниже

3 голосов
/ 23 марта 2010

Как правило, если вы хотите создать тему для модуля, у вас есть несколько вариантов.

  1. Перезаписать функции темы. Вы можете перезаписать функции темы, которые модуль использует / реализует для изменения разметки, один из примеров такой функции - theme_service_links_node_format. Вы измените make в функции в template.php вашей темы с именем your_theme_name_service_links_node_format и вместо этого создадите в ней свою пользовательскую разметку.

  2. CSS. Если вам не нужно изменять фактическую разметку выходных данных модулей, вам нужно всего лишь добавить необходимый CSS, чтобы оформить его по своему вкусу.

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

  4. Другой способ, опять-таки, не похоже, что сервис - это ссылки на сервисы, - это случай реализации функций предварительной обработки в вашем template.php. Это необходимо, если вы хотите изменить способ генерирования определенных переменных шаблона.

0 голосов
/ 23 марта 2010

Если модуль реализует свои собственные хуки тем, вы можете использовать это Вы также можете использовать CSS.

0 голосов
/ 23 марта 2010

В чем проблема? Я имею в виду, что каждый модуль должен использовать свое имя для основного контейнера и так далее. Вы можете использовать селектор CSS умным способом, чтобы ссылаться на страницы шаблона.

Например, модуль FAQ использует идентификатор для всей части вывода html, например faq-question и faq-answer на главной странице.

Просто проверьте ваш полученный код и css его, если возможно, измените связанный с модулем css!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...