Zigs: Блог

Главные вкладки

Не работает php code в ноде

1 ноября 2011 в 11:19

Создаю ноду, в которой формат ввода - php code. Содержание ноды включает как собственный текст, так и php сниппет, который должен выводить другую ноду внутри этой ноды

Пользовательская сортировка нод в термине

11 октября 2011 в 12:53

Делаю каталог товаров. Естественно таксономия используется для создания категорий. Нужно, чтобы пользователь имел возможность сортировать товары в пределах каждой конкретной категории. Конечно, самый простой вариант это добавить к типу материала поле Вес, изменять значение которого можно только через форму редактирования конкретной ноды. Что совсем не удобно. К тому же стандартный список список содержимого не имеет фильтра по терминам таксономии.

Разные языки и темизация

26 сентября 2011 в 8:21

Поставил сайт с нуля, изначально стоит только английский язык. Насоздавал кучку словарей, терминов, нод. По умолчанию все это хозяйство создается нейтральным к языку,
Потом затемизировал это дело. В шаблонах, для вывода значений использовал поле['und'][0]['value']. Все отлично работало.

Потом добавил русский язык и поставил его по умолчанию. Опять подобавлял нод и терминов, но они уже добавились с русским языком и вся темизация поплыла. Теперь для каких-то нод надо указывать und для каких-то ru.

Не раскрывается второе меню

19 сентября 2011 в 14:29

Коллеги, такая задача:
На сайте два меню: первое - вверху, выпадающее (Используется superfish)
Второе должно быть слева и повторять некоторые пункты верхнего меню, плюс иметь свои. Это меню не должно быть выпадающим.
Повторяющие в обоих меню пункты имеют одинаковый путь.
Проблема в том, что левое меню не раскрывается в соответствии с выбранным в верхнем меню элементом.
Кажется, что объяснил сумбурно, поэтому приведу пример.

Верхнее (выпадающее) меню: пункт1, пункт2
пункт1.1 пункт2.1
пункт 2.1.1

Левое меню (изначально ) пункт1, пункт2

Потом когда выберем вверху пункт 2.1.1, слева тоже должна открыться эта ветка, а пункт 2.1.1 должен стать активным.

Если мне не изменяет память это по умолчанию работало в 6й версии Друпала, а в семерке не работает. Подскажите как настроить?
Спасибо.

Нужен модуль для загрузки файлов на сайт

8 сентября 2011 в 2:26

Нужен модуль, который позволял бы заливать на сайт файлы (в основном pdf, doc) и делать ссылки в меню непосредственно на эти файлы.
Спасибо.

Миграция терминов с другой базы

25 августа 2011 в 17:48

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

Вот код:

define('DRUPAL_ROOT', getcwd());

require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

/* connect to original local database */
$db_link = mysql_connect("localhost", "admin", "admin")
    or die("Could not connect: original local database" . mysql_error());
mysql_select_db('kitty', $db_link) or die ('Can\'t use foo : ' . mysql_error());
$vocabulary = taxonomy_vocabulary_load(2);
$res = mysql_query('select * from term_data');

while ($row = mysql_fetch_array($res, MYSQL_ASSOC)):
   
    $p_term = new stdClass();
    $p_term->tid = '';
    $p_term->vid = $vocabulary->vid;
    $p_term->name = $row['name'];
    $p_term->format = db_query_range('SELECT format FROM {filter_format}', 0, 1)->fetchField();
    $p_term->field_category_image = array(
        'und' => array (
        )
    );
   
    taxonomy_term_save($p_term);
   
endwhile;    

После выполнения сразу получаю вот такую ошибку:

PDOException: in drupal_write_record() (line 6861 of Z:\home\grandecor.loc\www\includes\common.inc).

Удалось выявить источник проблемы. Это строка, где присваивает значение имени термина, которое берется из строки результата запроса.
Если вместо $row['name'] подставить строковую константу, то термин нормально добавляется.

Картинки с другого сервера

28 июня 2011 в 12:16

Добрый день. Наверняка уже этот вопрос поднимался, но решения его я пока не нашел.
Есть задача хранить фотографии на..., например, сервере Picasa, а показывать на своем сайте, причем так, чтобы никто не понял, что фотографии лежат на другом сервере.
Т.е. чтобы в img был не пикасовский адрес картинки, а какой-нить mysite/getimage/bla-bla-bla01 и т.д.
Как организовать такое перенаправление?

Спасибо.

500я ошибка при редактировании ноды

18 апреля 2011 в 23:53

Коллеги, вновь обращаюсь за советом.
Есть на моем сайте фотогалереи. Организованы через отдельный тип материала, в котором единственное новое поле типа File (Multiple value). Тип виджета выбран Image FUpload, чтобы можно было грузить сразу много фотографий за один раз. Правда там есть ограничение, что нелья грузить более, то ли 110, то ли 120 фоток. В обшем я загрузил 100, потом еше еще немного и, оказалось, что теперь эта нода не может войти в режим редактирования - сваливается с 500й ошибкой.
Сервер выдает вот такую ошибку:

PHP Fatal error:  Allowed memory size of 33554432 bytes exhausted (tried to allocate 1462047 bytes) in /var/www/htdocs/surfclin/includes/database.mysql.inc on line 301, referer: http://surf-clinics.ru/gallery/marg-new-year

Тип виджета менял - не помогает, собственно не в нем дело.

Ресурсы сервера довольно скромные:
ImageAPI GD Memory Limit 32M
Ограничение памяти PHP 32M

В чем может быть проблема? Только ли в ресурсах сервера?
Спасибо.

Проблема с CSS, друпал не причем

17 апреля 2011 в 22:39

Добрый вечер. Помогите кто чем может Smile Есть такая проблема:
На сайте, в материале текстовые ссылки, которые должны быть с подчеркиванием. Для этого в CSS прописано:

    #content .node .content a, #content .view-touropers a {
    color: #04A3DD;
    font-family: Tahoma,Arial;
    font-size: 13px;
    font-weight: bold;
    text-decoration: underline;
}

После этого все ссылки становятся с подчеркиванием, не только текстовые. В некоторых документах есть картинки с thickbox'ом, которые ессно, тоже стали иметь ненужное для картинк подчеркивание. Вот его то и надо убрать. Однако не тут-то было. Прописал в CSS:

a.thickbox {
    text-decoration: none;
}

Этот код перекрывается предыдущим - подчеркивание стается.
Посмотреть можно тут: http://surf-clinics.ru/news/duck-jybe

Еще такая же проблема тут: http://surf-clinics.ru/friends
Но тут уже не thickbox'ы , просто картинки с ссылками. Я даже индивидуальные классы для этих картиночных ссылок сделал, но они все равно перекрываются первым кодом и подчеркивание остается.

Подскажите, почему все индивидуальные классы, установленные для ссылок перекрываются? Что в моих CSS не правильно?
Спасибо.

Нужна тема

13 апреля 2011 в 11:07

Коллеги, очень нужна какая-нибудь тема, чтобы сайт выглядел в виде книги. Более конкретных требований нет. Сам пока не нашел, но может кто встречал похожее среди шаблонов?
Подскажите где посмотреть. Под 7ку или 6ку.
Спасибо.

Flash ролики в CKEditor

4 апреля 2011 в 21:46

Добрый вечер.
Поставил CKEditor для редактирования материалов. Нужно в статьи добавлять flash ролики.
Проблема в том, что в режиме редактирования все вставленные флеш ролики отображаются просто рамкой с буквой F. Можно ли как-то заставить CKEditor даже в режиме редактирования показывать сам ролик?

Спасибо.

Не видно новых модулей

18 марта 2011 в 16:09

Достался мне на некоторую доработку некий сайт с текущей версией 6.17
Нужно поставить несколько новых модулей. По ФТП залил в директорию sites/all/module коды новых модулей.
Захожу в админку, в список модулей - нет новых модулей, включать нечего.

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

Список материалов сайта при редактировании ноды

16 марта 2011 в 17:19

Подскажите пожалуйста модуль или возможное решение для такого функционала:

Редактируем текст какой-либо ноды, через какой-нить редактор, например CKEditor.
В тексте должны быть ссылки на другие документы (ноды), которые уже есть на сайте.
Хочется в редакторе иметь кнопочку, нажатие на которую вызывало бы отдельное окно, в котором можно найти и выбрать какую-нить ноду, и в один клик вставить ссылку на нее текст редактируемой ноды.

Кто-нибудь встречал что-то подобное?

Заголовок страницы контактов

30 декабря 2010 в 13:52

Добрый день. Добавил модуль Contact, настроил форму, загрузил русификацию, а заголовок формы контактов никак не русифицируется "Contact us" и все. Уже и внутренности модуля ковырял, никак не могу найти откуда берется этот заголовок и как его русифицировать. Подскажите, пожалуйста.

загрузка файлов и ahah постинг формы

25 марта 2010 в 17:52

Если у меня свой тип материала, в котором есть одна картинка типа imagefield. Для добавления нод такого типа делаю свою форму следующим образом: получаю в коде массив элементов формы, который генерит ССК и нужные для пользователя элементы копирую в новый массив формы. К кнопке submit прикручиваю ahah постинг:

    $form['submit']['#ahah'] = array (
            'path' => 'add_project_form/js',
                'wrapper' => 'add_program_form_content',
                'method' => 'replace',
                'event' => 'click',
                'effect' => 'fade'
    );

Все прекрасно работает, форма постицца, данные добавляются. Но в один прекрасный момент я, будучи в поле формы типа textfield нажал на Enter и тут произошел стандартный постинг формы с перезагрузкой страницы. После этого, нажатие кнопки Submit приводит к выводу на экран данных формы в текстовом формате.
Опытным путем было выяснено, что к такому поведению приводит наличие в форме поля для загрузки картинок. Если его убрать, то нажатие на Enter вызывает запланированный ahah постинг.

Попробовал заменить элемент imagefield на обычный file, Enter стал работать нормально, но во время самого ahah постинга стала вываливаться ошибка "An HTTP error 0 occur".

В общем и так и так получаются проблемы.
Кто-нить может помочь решить?

автоматическая рассылка в simplenews

9 марта 2010 в 12:19

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

simplenews: подписка незарегистрированных пользователей.

3 февраля 2010 в 19:33

Добрый вечер.
Нужно иметь на сайте блок в котором любой посетитель (не зарегистрированный) может ввести свой email и подписаться на рассылку. В самом модуле simplenews я ничего такого не нашел. Подскажите, плз, есть для этого функционала какие-то решения или надо самому блок программить? Или я в самом модуле плохо искал?

Спасибо.

Ahah постинг формы ноды и выставление термина по умолчанию

27 января 2010 в 14:42

Есть набор словарей и тип материала, для которого предназначены эти словари.
В своем модуле, я зарегил такой путь: /project/%/add, где % будет идентификатор термина одного из словарей.
Собственно, код вот такой:

function mymodule_menu()
{
  $items['project/%/add'] = array (
    'page callback' => 'mymodule_add_project_site_page',
    'page arguments' => array(1),
    'access callback' => 'user_access',
    'access arguments' => array('add project'),
    'type' => MENU_CALLBACK,
  );
  return $items;
}

function mymodule_add_project_site_page($tid)
{
        return '<div id="add_project_form_content">' . node_add('project') . '</div>';
}

function mymodule_form_alter(&$form, &$form_state, $form_id)
{
    if ($form_id == 'project_node_form'):
        /* Редактирование формы */

        $form['buttons']['submit']['#ahah'] = array (
            'path' => 'mymodule_add_project_form/js',
                'wrapper' => 'add_project_form_content',
                'method' => 'replace',
                'event' => 'click',
                'effect' => 'fade'
        );

    endif;
}

Из такой реализации вытекло два вопроса:
1. Как передать в form_alter приходящий через url $tid?
2. Если в данных формы есть какая-то ошибка, то нода, ессно, не создается, возвращаемая ahah форма не сохраняет в контролах введенные значения уровня ноды (title, description, такономия). Значения CCK контролов сохраняются. При этом если ahah убрать, то сохраняются значения всех заполненных полей.

Заранее спасибо.

Есть ли модуль? Дополнительные параметры к термину таксономии

20 января 2010 в 16:21

Добрый день. Есть ли такой модуль, позволяющий вводить какие-нибудь дополнительные данные к терминам таксономии?
Например, я хочу выводить заголовки нод, принадлежащих одному термину красным цветом, другому термину -зеленым цветом.
Соответственно я завожу "цвет", как дополнительный параметр для терминов выбранного словаря и в форме редактирования термина указываю нужно значение. Ну а потом использую его где-нить в темизации.

Получить изображение любого сайта

29 декабря 2009 в 16:38

Добрый вечер. Интересует возможность получения картинки какого-нить сайта в виде jpg.
То есть изображения, которое вручную можно получить загрузив сайт в браузер, нажав PrintScreen и обрезав браузер в каком-нить редакторе. Мне же хочется, чтобы такая картинка получалась автоматом средствами php, желательно чтобы еще в imagefield сама залезала Smile
Есть ли такой модуль? Или подскажите в какую сторону копать. Спасибо.

И снова про тормоза Drupal

21 декабря 2009 в 1:22

Заранее извиняюсь если уже было. Не нашел.
Дело в том, что Drupal просто сказочно тормозит (на локальной машине хостинга пока нет) Page execution time более 40000 млсек. Причем количество нод пока чуть больше десятка.
Devel показывает, что очень много запросов выполняются очень долго: 100 и более млсек. Причем это запросы из штатных функуций Друпала, например: taxonomy_get_node_terms или из функции node_load (связывает ноды, пользователей и ревизии, более 200 млсек). Причем все эти высокозатратные запросы в phpmyadmin выполняются практически мгновенно. Почему так происходит, откуда такая разница в производительности?

Полазил по форуму и немного подправил настройки mysql. Время отдачи снизилось до 15-25 сек, но, ессно, это тоже не приемлемо.
Куда копать, что посоветуете, гуру?

ПС. От железа эта ситуация не сильно зависит. Работаю на Денвере.

Ошибка 500 в http заголовках главной страницы.

17 декабря 2009 в 10:08

Добрый день. Недавно обнаружил, что заголовки главной страницы моего сайта (www.bestgameplace.ru) содержит 500ю ошибку (Internal Server Error).

GET / HTTP/1.1
Host: www.bestgameplace.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: __utma=247311639.671266380466511200.1245747718.1260785962.1260879829.44; __utmz=247311639.1246975666.13.3.utmcsr=webmaster.yandex.ru|utmccn=(referral)|utmcmd=referral|utmcct=/wmconsole/error_info_urls.xml; comment_info_name=%D0%94%D0%B8%D0%BD%D0%B0; SESS6b873beb56194bb75c3333a30ab9a895=7lc6lavhfr6p2ignkpklbkgqb6; has_js=1; __utmc=247311639

HTTP/1.x 500 Internal Server Error
Server: nginx
Date: Thu, 17 Dec 2009 06:59:30 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: store, no-cache, must-revalidate, post-check=0, pre-check=0
Expires: Sun, 19 Nov 1978 05:00:00 GMT
X-Powered-By: PHP/5.2.11
Last-Modified: Thu, 17 Dec 2009 06:59:27 GMT

Причем появляется она только на главной странице.
Откуда она может браться, где копать?

Спасибо.

Ad модуль. Баннер по умолчанию

10 декабря 2009 в 14:17

Добрый день. Есть установленный модуль Ad для показа баннерной рекламы.
Нужно сделать так, чтобы в случае отсутствия на данный момент активных баннеров отображался какой-нибудь заданный по умолчанию, типа со словами "Ваша реклама должна быть здесь". Сейчас же в этом случае просто не отображается вообще ничего.
Кто-нить пробовал сделать такое без хака этого модуля?
Спасибо.

Проблема с AHAH постингом формы.

3 декабря 2009 в 20:37

В общем кажется, что все сделано в соответствии с http://drupal.org/node/331941

Есть форма, на сабмит навешен ahah:

$form['submit']['#ahah'] = array(
        'path' => 'my_form_submit/js',
        'wrapper' => 'comments-list-view',
        'event' => 'click',
        'method' => 'before',
  );

Вот обработчик ahah запроса:

function my_form_submit_ahah()
{
  $form_state = array('storage' => NULL, 'submitted' => FALSE);
  $form_build_id = $_POST['form_build_id'];
  $form = form_get_cache($form_build_id, $form_state);

  $args = $form['#parameters'];

  $form_id = array_shift($args);
  $form_state['post'] = $form['#post'] = $_POST;
  $form['#programmed'] = $form['#redirect'] = FALSE;

  drupal_process_form($form_id, $form, $form_state);
  $form = drupal_rebuild_form($form_id, $form_state, $args, $form_build_id);

  $errors = theme('status_messages');
  $output = $errors . drupal_render($form);

  ....

Проблема даже не с самим постингом, он выполняется нормально. Проблема в том, что action возвращаемой формы в drupal_render формы содержит путь my_form_submit/js, а не тот, который был указан по умолчанию. Соответственно повторный сабмит приводит перезагрузке страницы и текстовому отображению массива, который возвращается в $output.

Почему так происходит? Как бороться?