Предлагаю решение

Одна база пользователей для сайтов

18 декабря 2011 в 2:09

И так, что бы создать несколько сайтов с одной базой данных в Друпал 7:

Сразу скажу, не пугайтесь такой большой инструкции!

1. В админке хостера создаём пользователя баз данных, например databaseuser1.

2. Создаем базу данных для нового сайта base1 и настраиваем к ней доступ юзера databaseuser1

3. Создаем базу данных наших пользователей, которая будет использоваться нашими сайтами, например usersbase и настраиваем к ней доступ пользователя databaseuser1. Позднее нужно будет настроить к ней доступ других пользователей баз данных, которые будут использоваться для главных баз данных других сайтов, которые будут использовать эту базу пользователей.

4. Устанавливаем друпал для сайта site1. При установке на этапе указания базы данных нужно оставить поле «Префиксы таблиц» пустым.

5. После установки заходим в Модули и включаем модуль openid (если собираетесь добавлять к сайту регистрацию по openid)

6. Теперь переносим все нужные нам данные о пользователях и все что с ними связано с базы сайта в отдельную базу. Для этого заходим в PHPMyAdmin через админку вашего хостинга. При входе используем логин и пароль пользователя баз данных сайта site1.

После входа в списке баз данных вы уведите 2 базы: base1 i usersbase. Заходим на базу base1, нажимаем кнопку «экспорт» и экспортируем таблицы базы в 1 файл, который сохраняем на своем компьютере.

Случайный обзор модулей для 6-ки (форматтеры восновном, по-верхам)

16 декабря 2011 в 17:44

Здесь ограничусь кратким описанием, основное - в документе по ссылке.

Этот документ - моё видение темы начатой друпальщицей Kate Marshalkina. Я просто сел и максимально кратко записал всё новое для меня, что успел увидеть за 2-3 дня “компьютерного запоя”. Приятного Smile

Meta tags, taxonomy term и Views

16 декабря 2011 в 4:04

"Это термины таксономии, а это вьюхи, которые выводят термины таксономии, а это метатеги, которые не хотят выводиться в терминах таксономии, которые выводятся вьюхами.."

Существует уже много тем по этой проблеме:
http://www.drupal.ru/node/67860
http://www.drupal.ru/node/63621
http://www.drupal.ru/node/40720
http://www.drupal.ru/node/21670
и т.п.

Поэтому, для тех, кто не нашел решения предлагаю, а для тех, кто разобрался прошу обсудить следующее решение:

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

<?php
function add_metatag($name, $content){
           $meta = array(
                '#type' => 'html_tag',
                '#tag' => 'meta',
                '#attributes' => array(
                    'name' => $name,
                    'content' => $content,
                )
            );
      drupal_add_html_head($meta, 'meta_'.$name);
}

$enitity_id=arg(2);
$enitity_type=arg(0)."_".arg(1);

$metatags = db_query("SELECT entity_id, data FROM {metatag} WHERE entity_type = :type AND entity_id = :ids", array(
      ':type' => $enitity_type,
      ':ids' => $enitity_id,
    )
)->fetchAllKeyed();

$metatags = array_map('unserialize', $metatags);
//dsm($metatags);

if(count($metatags["$enitity_id"]) > 0){

   if(isset($metatags["$enitity_id"]["description"])){

Регистрация доменов .RU, .РФ по 99 рублей + Хостинг в подарок

15 декабря 2011 в 18:51

На сайте x-maker.ru регистрация доменов .RU, .РФ по 99 рублей. Вкусные цены и на домены в других зонах.
Хостинг в подарок.
99 рублей - это стоимость регистрации на 1 год. Продление также 99 рублей.

Импорт данных из одной формы в другую с помощью AJAX

15 декабря 2011 в 11:06

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

Статью можно прочитать на сайте южного Drupal-сообщества

Сыграем вместе в мафию? Друпал-посиделки

12 декабря 2011 в 19:37

Давайте в честь наступающего нового года соберемся и дружно сыграем в мафию.

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

В общем, все, кто будут в Москве 25 декабря обязательно приходите:)

В 16.45 ждем всех желающих в Циферблате на Солянке (м.Китай-город, ул. Солянка, 11/6, на углу здания стеклянная дверь - звонить в домофон. Без вывески).

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

Если не умеешь играть? все равно приходи, мы тебя быстро научим!

Условия:
1. Оплата. Согласно формату Циферблата нужно платить поминутно - в первый час 2 рубля в минуту, каждый последующий час - 1 рубль в минуту. За это получаете чай (в неограниченном количестве), сладости, вкусное варенье, можно даже поджарить в тостере хлеб либо положить себе в тарелку понравившееся печенье и бублики.

2. Принеси подарок. Средняя цена подарка не больше 50 рублей - чисто символический. Каждый принесет с собой сюрприз, мы на месте вытянем бумажки с именами гостей и подарим свой подарок тому, чье имя вытянем. Это очень важная часть любого новогоднего праздника! Отговорки типа "не знал, что подарить", "забыл", "не успел купить" не принимаются. Принесите то, что самому было бы приятно получить, подумайте, чем удивить человека, которого даже не знаете)
Что дарить?
- что-нибудь вкусное
- что-нибудь сделанное своими руками

Модуль блока календаря по материалам для Drupal 7

12 декабря 2011 в 0:54

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

Патч для вывода полей профиля в webform

10 декабря 2011 в 1:30

Многие знают, что в webform с давних пор есть возможность подставлять по умолчанию поля профиля - через токен %profile[ключ]. Есть то она якобы есть, но только нихрена не работает.
Написал простенький патч для webform , версия 7-3.13.
Файл webform.module, строка 2791.
Было

<?php        foreach ($variable as $key => $value) {
          
// This special case for profile module dates.
          
if ($token == '%profile' && is_array($value) && isset($value['year'])) {
            
$replacement webform_strtodate(webform_date_format(), $value['month'] . '/' $value['day'] . '/' $value['year'], 'UTC');
          }
          else {
            
$replacement = (!is_array($value) && !is_object($value)) ? $value '';
          }
?>

Стало

<?php        foreach ($variable as $key => $value) {
          
// This special case for profile module dates.
          
if ($token == '%profile' && is_array($value) && isset($value['year'])) {
            
$replacement webform_strtodate(webform_date_format(), $value['month'] . '/' $value['day'] . '/' $value['year'], 'UTC');
          }
          else if (
$token == '%profile' && is_array($value) && isset($value['und'])) { /// добавлено
            
$replacement $value['und'][0]['value'];                                   /// добавлено
          
}                                                                             /// добавлено
          
else {?>

Если у вас стоит модуль WSOD из проекта dtools

9 декабря 2011 в 3:06

На домашнем компе поставил модуль feedbacktab и начались проблемы, так как раньше я их просто не замечал.

Этот модуль я адаптировал, поправил, чтобы с его помощью и помощью другого модуля popups выводить форму контактов для отправки сообщений. Все бы ничего, только второй раз форма не отображалась. Навечно зависала ajax операция.

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

Методом тыка понял, что зависает запрос $.getJSON, но в тот день, мне не судьба была разобраться с точной причиной вечного ожидания ответа. Сделал обходной путь вызывал форму контактов один раз. И думал все обойдется. Не обошлось.

На следующий день я понял, что дело не чисто, не работало добавление товаров в корзину. В общем бился я 2,5 часа, пока не заметил в окошечке firebug-а, что после json строки в теле ответа, который возвращается как text/html из uc_ajax_cart, в конце строки стоит загадочное 'n/a'.

Тут я понял, что руки чешутся кого-то придушить, в первую очередь себя конечно, за то что поставил изучить модуль wsod-6.x-1.1 из проекта dtools (http://drupal.org/project/dtools), который эту гадость и учинил.

После выключения модуля все стало на свои места.

Желаю вам не вляпаться в это, ну или найти этот пост, если вляпаетесь :D.