Подтвердить что ты не робот

Любимые советы или рекомендации по Drupal?

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

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

4b9b3361

Ответ 1

При создании нового сайта мы немедленно создаем пустой пользовательский модуль, названный в честь сайта/проекта. Это становится центральным местом, где можно поместить все мелкие исправления /kludges/tweaks, которые появляются, чтобы решить все те незначительные запросы на изменение, которые на самом деле не являются функциями, и не требуют полного модуля (сначала); этот модуль должен быть регулярно пересматривается и реорганизовывается, чтобы удалить вещи, которые стали устаревшими, или вытащить материал, который превратился в функцию, тем самым заслуживающий полного модуля сам по себе.

То же самое для тем - независимо от темы, с которой мы начинаем наши сайты, обычно она будет изменяться быстро/немедленно, поэтому лучше всего переименовать ее на сайт/проект с самого начала.

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

Ответ 2

используйте drush для установки/обновления модулей и выполнения задач обслуживания. если вы используете drupal, вы не можете обойтись без него.

Ответ 3

Перед кодированием любой пользовательской функции в Drupal убедитесь, что для нее еще нет модуля.

Ответ 4

  • Используйте тему zen - не только это делает их проще, он также добавляет Классы CSS, которые отражают состояние веб-сайт (например, <body class="not-front not-logged-in page-node node-type-project-project two-sidebars">) - делает его действительно легко настроить ваш сайт.

  • Просмотр Drupal Modules - 9 из 10 шансов вы найдете, что вы ищете там - это безопасно и/или поддерживаться - это другой вопрос;) Но по крайней мере у вас будет начальная точка.

Ответ 5

узнайте views модуль

Ответ 6

Два совета:

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

Посмотрите вокруг, чтобы сделать то, что вы хотите, включая интеграцию CCK/Views. Это, по-видимому, будущее Drupal, поэтому автономный модуль, который делает то, что вы хотите, чтобы он конкурировал с модулем, зависящим от представлений /CCK, скорее всего, выйдет из строя в ближайшем будущем.

++ к предложению Гешана.

Ответ 7

Используйте backup and migrate, это помогает вам многое.

Ответ 8

Самая мощная функция в Drupal - это изменение системы. Это проявляется двумя способами.

  • Вся тематическая система
  • drupal_alter() (наиболее интересно, как hook_form_alter)

Причина, по которой эти вещи настолько сильны, заключается в том, что она позволяет вам изменять функциональность ядра drupal и изменять, как drupal визуализирует разные вещи без, меняя сам ядро ​​drupal (или модули).

Это, вероятно, одна из главных причин успеха Drupal, поскольку она позволяет разработчикам настраивать Drupal для выполнения именно того, что они хотят, и по-прежнему сохранять весь прогресс, достигнутый в Drupal и предоставляемых модулях.

Ответ 10

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

Ответ 11

Установите и используйте devel module. Потратьте некоторое время на это, имея более глубокое знание того, как он может помочь вам отлаживать модули, разработку тем и т.д.

Ответ 13

Используя/var/www для моего веб-корня, я создаю /var/www/sites и symlink каталог моих сайтов, и /var/www/files для robots.txt. Это делает обновление (в отсутствие SCM) менее страшным, просто перезапишите папку /var/www/drupal с новой версией и нажмите update.php.

Используйте локальную копию drupal для вашей разработки; это гораздо меньше боли для отладки локально, чем через WAN, и вам проще использовать код вашего сайта в качестве проекта в вашей среде IDE, который (может или не может быть указан на вашей IDE) предоставляет вам завершение кода и легкий доступ к вашим файлам. Когда вы закончите, вы можете нажать изменения через ftp/scp или использовать любой SCM, с которым вы знакомы.

Я использую функцию devel dsm(), поэтому я бы рекомендовал этот модуль. Это делает отладку-без-отладчика (т.е. После прохода) гораздо менее болезненной.

Кроме того, меню администратора упрощает администрирование вашего сайта; он дает вам доступ к всплывающему меню dhtml ко всем страницам администратора в иерархии, поэтому есть только один щелчок между вами и большинством функций администратора.

Ответ 14

Используйте экспортируемые продукты, через модуль ctools или встроенные для просмотра и т.д., чтобы получить настройки конфигурации ключа за пределами базы данных и поместить их в контроль версий. Это облегчит перемещение обновлений и изменений с одного сайта на другой.

Ответ 15

Если вы не застряли в PHP5 или базе данных, отличной от mysql, используйте Pressflow (http://pressflow.org) вместо запаса Drupal. Pressflow оптимизирован для mysql + php5 и поддерживает более качественные настройки кеширования по мере роста вашего сайта, например, если вы используете Лард перед Drupal для анонимных пользователей.

Ответ 16

Используйте переменную $id в node.tpl.php, чтобы темы позволяли использовать объекты, отличные от длинных вертикальных списков содержимого. Например, вы можете проверить, равен ли $id 1, и, если это так, оберните node в div, который помещает его в большую зону выделения в верхнем правом углу страницы. (Это полезно в сочетании с функцией "make sticky at top of lists".) Тогда вы могли бы иметь два столбца, несколько ниже по странице, содержащие $ids между 2 и 8 и 9 и 15.

Иногда вам может потребоваться проверить что-то, отличное от номера $id, чтобы определить, в какую "зону" помещается node. В этом случае может быть очень полезно выполнить некоторую проверку функции hook_preprocess_node (которую вы можете поместить в файл template.php как имя_файла_preprocess_node), который содержит статическую переменную, которую вы можете использовать для хранения результатов проверок на узлах которые уже были показаны на странице. Например, я использую это для отображения заголовка даты над узлами, для которых node этой даты еще не отображается, например:

if ($vars['teaser']) {
  static  $last_date;
  $date = format_date($node->created, 'custom', 'l jS F');
  if  ( $date != $last_date ) {
    $vars['show_date'] = TRUE;
    $last_date =  $date;
  }
  else {
    $vars['show_date'] = FALSE;
  }
}

Ответ 17

Framework - еще один отличный модуль для начала разработки темы. Используя его в качестве базовой темы, я смог отправить существующую тему на Drupal в течение нескольких часов.

Ответ 18

Панели3

Изучите его, используйте, осваивайте. Это делает ваш сайт очень динамичным.