Так как сборка получила своих пользователей, то я напишу парочку ответов-гайдов на вопросы, которые чаще всего вижу, с которым появляются проблемы и которые мне шлют на почту. Я выделил два самых главных, они являются проблемой для пользователей, которые не сильно знакомы с друпалом. Более того, они оба взаимосвязаны, тем самым убьём двух зайцев.
Как обновляются сборки
Не важно, пользуетесь вы сборкой Drupalife Store, или какой-то другой, сборки имеют свою специфику обновлений (если не указано обратной, например Kickstart обновляется иначе).
Когда выйдет обновление сборки, вы узнаете об этом из админки. Она сообщит что есть обновление, а также будет возможность обновить сборку, но это не пройдет и завершиться ошибкой.
А на деле всё очень и очень просто. Сборки обновляются как и ядро Drupal. Так что следуйте инструкции и вы также обновите сборку. **Обратите внимание! ** Если вы производите обновление ядра без сборки, то по гайду обновления ядра, не нужно удалять папку profiles.
Вы также можете обновить сборку частично. Допустим скопировать с заменой в папку дистрибутива (в нашем случае drupalife_store) всё кроме папок theme и modules. Это в том случае, если производились какие-либо махинации или изменения в этих папках.
И конечно же, не забывайте делать бэкап перед обновлением!
Как править тему оформления
Так как сборка идёт со своей стандартной темой, многие хотят её слегка, а может и не слегка, поправить под себя, при этом не создавая тему с нуля. Это вполне логично и понятно. Но вот не каждый догадывается и знает о такой особенности как subtheme (поддемы, сабтемы), при помощи которых эти изменения и нужно делать.
В чём же ошибка? Нельзя просто зайти в тему drupalife_store и начать там править css, файлы шаблонов, да чего уж там, вообще всё там трогать нельзя. Если вы читали про обновление сборки выше, вы прекрасно понимаете, что все ваши труды будут успешно стерты после обновления, ведь они будут заменены оригинальными файлами из сборки. Либо придется это все как-то руками контролировать, что при больших изменениях может отнять не один час.
Для того чтобы таких проблем не было, и вы со спокойной душой могли обновлять сборку, нужно создать сабтему, которая будет наследоваться от drupalife_store. Т.е. по факту вы делаете свою тему, но она наследует всё то, что уже сделано в теме drupalife_store, вы лишь добавляете и/или правите то что необходимо.
Делаем сабтему
В данном гайде я не буду описывать все технические детали и особенности создания cабтем, а лишь расскажу как это делается непосредственно для темы сборки и некоторые из особенностей.
Сейчас я доделал и выложил версию сборки 7.x-1.0-beta2. В ней появилась новая папка /profiles/drupalife_store/themes/drupalife_store/* YOURTHEME*. Это наша точка отправки и заготовка сабтемы для drupalife_store.
А теперь простая пошаговая инструкция:
- Копируем вышеуказанную папку (YOURTHEME) в /sites/all/themes/YOURTHEME
- Затем переименовываем папку YOURTHEME на название, которое желаете дать своей теме. Допустим, пусть будет mynewtheme. (Обратите внимание, название должно быть в нижнем регистре, на латинице и может содержать лишь знак нижнего подчеркивания
- Заходим в папку темы и меняем название файла yourtheme.info.txt на * mynewtheme.info* (Файл должен называться также как и папка темы. Мы также убираем расширание .txt, в противном случае тема не появится в списке)
- Если есть необходимость, вы можете отредактировать название (name) и описание вашей темы (description) в самом .info файле. А можете просто пропустить этот пункт.
- Заходим в настройки тем Drupal и видим, что там появилась наша тема. Включаем её и делаем активной. А саму тему Drupalife Store можно смело отключать.
- Вот и всё!
А теперь вы можете править тему как душе угодно. Для этого в вашей новой теме есть файлы css/new_styles.css и js/new_script.js, которые вы можете править как душе угодно. Вся дальнейшая работа ничем не отличается от того как вы правили раньше. Вы можете добавлять темплейты, скрипты, стили, писать свои хуки в template.php или же добавлять свои настройки в theme-settings.php.
Вы также можете скопировать все содержимое из /profiles/drupalife_store/themes/drupalife_store/templates в /sites/all/themes/mynewthemes/templates, или только те темплейты, что вам необходимо переопределить. Ну и разумеется, можете добавлять свои собственные.
Обратите внимание, теперь ваша тема (mynewtheme) имеет приоритет над drupalife_store. Именно по этой причине файл стилей и скриптов называются с приставкой new_. Если переименовать или подключить файл с именем styles.css (как в drupalife_store), то он перекроет оригинальный и будет сразу использоваться из вашей темы, тем самым никаких стилей от оригинальной темы сборки не подключится.
hook_update_projects_alter()
И через unset отключем проверку дистрибутива.