Любимые подсказки Drupal или лучшие практики? [закрытый]

Во-первых, вам нужно установить поясной пояс героя.

2-й, сгенерируйте ключ SSH командой: heroku keys:add

3-й, клонируйте свой репозиторий: git clone git@heroku.com:__your_repo__.git

35
задан sepehr 31 January 2010 в 21:19
поделиться

18 ответов

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

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

«Модуль сайта» дополняет «тему сайта»,

14
ответ дан 27 November 2019 в 06:26
поделиться

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

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

Я широко использую функцию devel dsm (), поэтому я рекомендую этот модуль. Это делает отладку без отладчика (т.е. после prod. перемещение) гораздо менее болезненно.

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

2
ответ дан 27 November 2019 в 06:26
поделиться

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

4
ответ дан 27 November 2019 в 06:26
поделиться

Используйте переменную $ id в node.tpl.php, чтобы темы позволяли использовать другие вещи, кроме длинных вертикальных списков содержимого . Например, вы можете проверить, равен ли $ id 1, и, если да, обернуть узел в div, который помещает его в большую зону выделения в правом верхнем углу страницы. (Это полезно в сочетании с функцией «сделать закрепление вверху списков».) Затем вы можете иметь два столбца несколько ниже по странице, содержащие $ ids между 2 и 8 и 9 и 15.

Иногда вы можете необходимо проверить что-то кроме номера $ id, чтобы определить, в какую «зону» поместить узел. В этом случае может быть очень полезно выполнить некоторые проверки в функции hook_preprocess_node (которую вы можете поместить в свой шаблон. php как themename_preprocess_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;
  }
}
1
ответ дан 27 November 2019 в 06:26
поделиться
  • Используйте дзен-тему - не только упрощает создание тем, а также добавляет CSS-классы, отражающие состояние веб-сайт (например, ) - делает это действительно легко настроить ваш сайт.

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

15
ответ дан 27 November 2019 в 06:26
поделиться

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

16
ответ дан 27 November 2019 в 06:26
поделиться

изучить модуль просмотров и выйти

13
ответ дан 27 November 2019 в 06:26
поделиться

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

  • Вся тематическая система
  • drupal_alter () (чаще всего обозначается как hook_form_alter)

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

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

6
ответ дан 27 November 2019 в 06:26
поделиться

Используйте модуль резервного копирования и переноса , он вам очень поможет.

8
ответ дан 27 November 2019 в 06:26
поделиться

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

22
ответ дан 27 November 2019 в 06:26
поделиться

Я бы обрезал любую ячейку ' s содержимое сверх определенного размера (с многоточием для обозначения усечения) и позволяет щелкнуть ячейку для отображения всплывающего окна с полным содержимым, видимым в прокручиваемом окне. Или я бы отобразил содержимое этих потенциально больших ячеек в настраиваемом UserControl, который сам содержит полосы прокрутки, если текст превышает определенную длину.

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

Обновление : для просмотра журналов ReportViewer может быть более подходящим элементом управления. Вот несколько ссылок по его использованию:

http://www.codeproject.com/KB/cs/reportdisplay.aspx

http://www.microsoft.com/Downloads/details.aspx?FamilyID=f38f7037 -b0d1-47a3-8063-66af555d13d9 &

3
ответ дан 27 November 2019 в 06:26
поделиться

Panels3

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

0
ответ дан 27 November 2019 в 06:26
поделиться

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

4
ответ дан 27 November 2019 в 06:26
поделиться

Два совет:

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

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

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

10
ответ дан 27 November 2019 в 06:26
поделиться
5
ответ дан 27 November 2019 в 06:26
поделиться

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

1
ответ дан 27 November 2019 в 06:26
поделиться

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

2
ответ дан 27 November 2019 в 06:26
поделиться

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

2
ответ дан 27 November 2019 в 06:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: