Drupal7

проблема при обновлении Drupal 7

3 марта 2011 в 11:08

Возникла такая проблемка.
Пытаюсь обновить Drupal с шестерки на семерку на локальном компьютере. Делаю как описано в upgrade.txt.
Т.Е. новую папку, туда исходники 7-ки, + копирую папку sites, файл .htaccess. Подправляю файл settings.php
После очередного этапа запуска "http://мой локальный домен/update.php"
Возникает ошибка. Не подскажете как это можно обойти?
Тема "Minelli" - вроде как стандартная..почему на неё ругается?

Home
Видеонаблюдение Набережные Челны
Error
Error message

* Notice: Undefined index: minnelli in _drupal_maintenance_theme() (line 75 of Z:\home\drupal7.site\www\includes\theme.maintenance.inc).
* Notice: Trying to get property of non-object in _drupal_theme_initialize() (line 146 of Z:\home\drupal7.site\www\includes\theme.inc).
* PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'chelnyvideosite.blocked_ips' doesn't exist: SELECT 1 FROM {blocked_ips} WHERE ip = :ip; Array ( [:ip] => 127.0.0.1 ) in drupal_is_denied() (line 1779 of Z:\home\drupal7.site\www\includes\bootstrap.inc).
* Notice: Trying to get property of non-object in _theme_build_registry() (line 536 of Z:\home\drupal7.site\www\includes\theme.inc).
* Notice: Trying to get property of non-object in _theme_build_registry() (line 536 of Z:\home\drupal7.site\www\includes\theme.inc).
* Notice: Trying to get property of non-object in _theme_build_registry() (line 536 of Z:\home\drupal7.site\www\includes\theme.inc).

Памятка: Установка друпала на VDS

3 марта 2011 в 5:43

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

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

Исходные данные:
1 - недорогой VDS, который часто будет у заказчиков. 1.5G 384М 1 ядро, на котором будет только 1 владелец, и как следствие только 1 сайт будет в мультисайтинге.
2 - VDS 2G 1024M 1 ядро * до 8 =)), тут будет очень много сайтов в связке.
1 и 2 - ОС Ubuntu 10.10 или 10.04, которую обновим до 10.10

Оглавление:

Подготовка сервера
Подготовка ОС
Nginx
PHP
--eAccelerator
--MemCache
MySQL
--PhpMyAdmin
--MySqlDumper
Установка сайта
--D6 Подготовка
--D6 Установка

Я люблю Drupal 7 (выпадающий список таксономии)

3 марта 2011 в 0:07

С помощью нового Form api можно избавится от модуля hierarchical select

Для решения задачи подгружаемых выпадающих списков хватило трех функций:

Функция формы:

<?php
function example_form($form, &$form_state$checkout_pane$order) {
$form2['example'] = get_form_building(0$form_state);
$form2['example']['#prefix'] = '<div id="example-wrapper">';
$form2['example']['#suffix'] = '</div>';
return 
$form2;
}
?>

Рекрусивная функция построения выпадающих списков

<?php
function get_form_building($tid$form_state ''$stay 0){
$options = array();
 
$result db_query('SELECT td.tid, td.name
FROM {taxonomy_term_hierarchy} th
INNER JOIN {taxonomy_term_data} td
  ON td.tid = th.tid
WHERE th.parent = :pid
ORDER BY td.weight ASC, td.name ASC '
, array(':pid' => $tid));
foreach (
$result as $record) {
$options[$record->tid] = $record->name;
}

if(

count($options)){

if(

$options[$form_state['values']['example'['term-level-'.$stay]]){
$default_value $form_state['values']['example']['term-level-'.$stay];
}
//если нужно чтобы вся иерархия таксономии не подгружалась сразу можно удалить этот else
 
else {
$default_value key($options);
 }

$out['term-level-'.$stay] = array(
    
'#type' => 'select',
    
'#title' => 'third Dropdown',
    
'#prefix' => '<div id="dropdown_replace_'.$stay.'">',
    
'#suffix' => '</div>',
    
'#options' => $options,
    
'#default_value' => $default_value,
    
'#ajax' => array(
      
'event' => 'change',?>

Видимость поля

2 марта 2011 в 19:55

Здравствуйте!
Подскажите пожалуйста, существуют ли модули для управления видимостью поля непосредственно при редактировании материала?

Юзеры. Профиль, блоки

2 марта 2011 в 17:11

Есть несколько вопросов относительно представлений информации о пользователях (как на самой странице пользователя, так и в виде списков в блоках по определенным параметрам).

1. Страница профиля. Хочу узнать "устоявшийся", самый популярный/стабильный вывод необходимой информации о пользовете на его странице. Из самого необходимого можно отметить:
- Картинку пользователя, обработаную через определенный Вид показа изображений, отличный от указанного в Стиль для показа изображений в Настройки учетной записи.
- Список последних комментариев на материалы сайта, их оценка (UpDown, как на youtube).
- Список последних/рейтинговых/популярных марериалов, опубликованых пользователем.
- Информация с userpoints (кто и кого благодарил, действия).
- Все должно быть отображено на подобии страницы в соц сетях фейсбук лайк (стана, блоки...). т.е. гибкость шаблонизации.
- С og cписок другей, групп, споледние обсуждения, сообщения (пм для владельца).
- Информация о себе в отдельном блоке (доп поля, сск ссылки на список подобных)
Ну в общем чтобы была возможность свободного выбора/реализации.
Сейчас пытаюсь сделать через views расставить в panels. Такой вариант подходит, или лучше user-profile.tpl.php наполнять руками (если это возможно для подобной задачи)?
Проблема с views состоит в том, что не могу найти фильтр для блока по странице пользователя. Т.е чтобы на странице конкретного пользователя в блове вьюз отбражались поля только этого юзера.

Обновление с 6.x до 7.x версии

2 марта 2011 в 17:00

Перед тем как переходить на 7-ую версию друпала, ответьте на вопросы (самому себе):
Зачем вам это нужно? (если всё хорошо работает)
Настолько важен вам переход или стоит подождать? (к чему спешка..)
Возможно лучше пока остаться на 6-ой версии друпала? (Меньше проблем, всё более стабильно работает)

Обычно большинство разработчиков переходят на следующую версию через 6-12 месяцев (статистика приблизительная, по моим личным наблюдениям..). Например с 4-ой на 5-ую версию, составило примерно, от трёх до девяти месяцев, хотя кто-то, только через пару лет обновился Smile

На данный момент, для 7-ой версии друпала имеется чуть более 1000 модулей. С одной стороны это много, с другой, ещё огромное количество модулей не адаптировано под 7-ую версию, а некоторые и не будут переделаны... (по разным причинам).

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

Скачайте все нужные вам модули и установите их локально вместе с 7-ой версией друпала! Проверьте на чистой установке, нормально они работают вместе или есть проблемы. Если есть возможность, сделайте чистую установку на своём хостинге (например, на поддомене), чтобы быть уверенным, что 7-ая версия друпала работает нормально на вашем хостинге и корректно работают модули.

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

Возможно это займёт час-два времени, но вы будете точно знать, что эти модули вместе работают на семёрке.

Увеличения скорости загрузки странички: Content Delivery Network (CDN) и распараллеливание загрузки данных

2 марта 2011 в 16:22

Что такое CDN?

Кому и почему нужно использовать CDN?

Инфраструктура CDN & Drupal

Пример расширенной настройки CDN в друпале

Распараллеливания загрузки

читать

Disable vertical tabs (модуль для Drupal 7)

2 марта 2011 в 10:20

Привет всем! С переходом на Drupal 7 мне очень непонравилось то, что вертикальные закладки "vertical tabs" в наглую включили в ядро друпала и что самое ужасное - нигде в пользовательском интерфейсе это невозможно отключить. В то время как под D6 это был отдельный модуль, который можно было установить и включить по желанию.

После чего мною был сделан модуль, который при обработке форм везде где встречаются вертикальные закладки заменяет их на обычные поля "fieldset" как это было в Drupal 6 по-умолчанию.

Размещение блога

2 марта 2011 в 9:25

В виде эксперимента разместил свой блог - на drupalgardens.com. Пока нравится, платформа позволяет развернуть сайт не вложив не рубля, а также побаловаться с Drupal 7. Присутствует аналог модуля Views, называется Simple Views, я его пока не использовал. Единственно раздражают притормаживания движка. Так же столкнулся с проблемой некорректного сохранения форматирования в теме, как известно, drupalgardens.com позволяет менять оформление темы без изменения кода, но оно к сожалению не всегда корректно отрабатывает. Советую тем кто только начинает знакомство с drupal 7. Если посмотреть галерею сайтов можно увидеть вполне качественные сайты построенные на этой SaaS-платформе.

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

Как вывести программно форму в Drupal 7?

1 марта 2011 в 18:29

Это для 6-ки
<?php
module_load_include('inc', 'contact', 'contact.pages');
echo drupal_get_form('contact_mail_page');
?>

для 7-ки это выводит массив
<?php
module_load_include('inc', 'contact', 'contact.pages');
echo drupal_get_form('contact_site_form');
?>