slavik.kz: Блог

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

Как сделать управление торговлей на Друпале?

30 ноября 2014 в 18:56

Всем здравствуйте! Возник вопрос, а можно ли вообще готовыми модулями с минмумом разработки сделать некое подобие 1С Розницы?

Вот, например, в Drupal Commerce можно добавить товары и кол-во на складе.

А как можно сделать следующее:
1. Как сделать несколько складов? (Например, интернет-витрина для магазина с филиалами с разными запасами в каждом, в том числе одного и того же товара)
2. Как сделать учет поставок с разными закупочными ценами на один и тот же товар?

Как сделать панель с разными типами аргументов (нода/термин)?

29 мая 2014 в 15:20

Всем привет! Возникла необходимость сделать страницы-панели с одним общим базовым адресом вида: site.ru/mypage/[term-tid], site.ru/mypage/[node-nid] (возможно будут еще аргументы).

Сначала сделал 2 разные панели с 1 вариантом, в первой аргумент = Материал: ID, во второй = Термин таксономии: TID, правила выбора настроил и т.п. Вроде все заработало, но потом перестало. Может все обновилось, не успел понять. В общем, стала работать только одна панель, у второй - "Страница не найдена".

Решил сделать по-другому - одну панель с разными вариантами, но тут возникло затруднение: как в одном варианте получить контекст термин таксономии, а в другом - ноду? В аргументах панели предлагается сразу выбрать или ноду, или термин, или ничего не выбирать.

Как грамотнее организовать каталог компаний на Drupal - связать филиалы через field_collections или reference?

14 ноября 2012 в 12:50

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

Делаю двумя способами:

1. нода-компания, field_collection - контактная информация (регион, адрес + несколько телефонов (если бы по одному значению, можно было бы извратиться с группой полей, 1 адрес, 1 телефон), даже вид деятельности)

Плюсы: добавил компанию, потом быстренько добавляешь новый филиал (контакты), редактору понятно "добавить группу контактов"

Как правильно проверять существование элемента массива?

17 сентября 2012 в 10:57

Вопрос довольно нубский, но что-то последнее время всё чаще дает о себе знать, как при темизации, да и вообще, проверять существование элемента массива?

Например, в случае:

Как сделать на Drupal некое подобие кнопки-сервиса "Поделиться" для размещения на других сайтах?

10 сентября 2012 в 20:59

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

Есть у соц. сетей сервис-код "Поделиться", размещается на сайтах для перепоста новостей, при клике появляется форма, заполняется, после сабмита создается запись у пользователя в профиле.

Таблица locales_source забивается дубликатами строк

10 апреля 2012 в 23:42

Не знаю с какого момента появилась это проблема, возможно после какого-то обновления, установлен модуль locale_cache (но при отключении - та же ситуация), суть: в таблицу заносятся непереведенные строки, заносятся сотнями и тысячами (посещаемость - ~100 онлайн)
db_query("INSERT INTO {locales_source} (location, source, textgroup, version) VALUES ('%s', '%s', 'default', '%s')", request_uri(), $string, VERSION);
Заносятся русские строки из полей-описаний views, такого рода записи:

Array
(
[lid] => 217057
[location] => /sites/default/files/js/js_e1c80a8c9e9328d7e6ea5dfae013dada.js
[textgroup] => default
[source] => Blog entry
[version] => 6.25
)

Array
(
[lid] => 217095
[location] => /search?model=128
[textgroup] => default

Как выполнить jquery-действие перед загрузкой данных ajax-ом?

6 марта 2012 в 23:22

Сделал модуль - ajax-селект, аналог Hierarhical Select-а, но есть необходимость выполнять действие во время смены селекта, до загрузки ajax-данных. Подскажите, как это можно сделать?
Ajax-элемент - стандартный

$form['select'][$input_name] = array(
        '#type' => 'select',
        '#options' => $options,
        '#ajax' => array(
                'callback' => 'mymodule_ajax_callback',
                'wrapper' => 'region',
                'method' => 'replace',
                'effect' => 'fade',
                'speed' => 'fast'
        ),
);

Пытаюсь навесить в drupal_add_js скриптом:
jQuery('#select').change(function () {alert('1');});

Работает, но только 1 раз - до изменения DOM-а AJAX-ом, это понятно, делаю так (live, delegate):
jQuery("#select").live("change", function(event){alert('1');});

Как переименовать загруженный файл вручную?

3 февраля 2012 в 0:09

Возникла необходимость ручного переименования файлов (не через path alias и т.п.), загруженных через file field, не нашел готового решения, под 7-ку файл-менеджеров особо нет, подскажите, может кто пользовался чем-то? Интересует именно ручное переимнование файла, в том числе в БД.

Если нет, может сделать модуль? Сделать вроде не сложно - вывод файлов списком из file_managed, переименование, как думаете, взяться?

Как правильно сделать taxonomy view для нескольких словарей для выборки нод по нескольким терминам?

28 января 2012 в 13:04

Возникло желание сделать правильный каталог, допустим, компаний через Views, есть 2 словаря: город и рубрика, хочу сделать пути вида site.com/moscow/cars, алиасы для таксономии такие site.com/moscow, site.com/cars, сделал стандартное представление taxonomy view, добавил новый контекстный фильтр - термин таксономии - рубрика, но представление упорно выдает 404 not found на любой аргумент (Content: Category, Content: Has taxonomy term; Term ID from term name). Возникло подозрение, что надо или создавать алиасы вида site.com/moscow/cars = taxonomy/term/13/329, чтобы нормально выбрать второй термин.

Зарегистрированный пользователь с именем "гость"

26 января 2012 в 16:04

Зарегистрировался пользователь с именем "гость", теперь анонимы, не указывающие имя (по умолчанию написано "Гость") не могут оставить комментарий (приходится менять имя), что можно сделать? Переименовать пользователя - понятно, но как потм запретить регистрацию с таким именем? Если указать http://site.com/admin/user/rules, тогда анонимы же тоже не смогут оставлять комментарии, так?

Постоянный редирект на подпапку "ru" после обновления модулей

10 января 2012 в 13:57

Сегодня апнул несколько модулей на 7-ке (global redirect, location, views и т.п.) и после обновления при заходе на любую страницу идет редирект на подпапку "ru", пока 504-500 ошибка не вылезет, например до такой степени http://site.com/ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/admin/reports/dblog

С чего подобраться? Пробовал global redirect отключить, переименовав папку - без эффекта, подскажите как можно отладить/отключить/определить источник проблемы?

Как правильно сделать доску объявлений

23 ноября 2011 в 17:31

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

Пустой заголовок блока при программном выводе

4 апреля 2011 в 23:13

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

Проблемы с imagecache и шаред-хостингом

23 января 2011 в 15:45

При использовании imagecache возникла такая проблема, которая связана скорее с политикой shared-хостера (причем видимо у многих так): графика как статика обрабатывается nginx-ом, при этом 404-ая ошибка не передается на бэкенд, а сразу выводится nginx-ом, а в imagecache создание файлов завязано на обработку неверного пути бэкендом-друпалом. То есть на прямую заставить работать никак не получается, при этом 404 ошибка от всяких .htm-файлов прекрасно перебрасывается на Друпал, доступа к nginx.conf - нет.

Проблемы с кешем в exposed form

21 января 2010 в 15:37

Всем привет!

Не знаю после чего, ранее, в течение месяцев работы сайта такого не наблюдал. Возникла такая проблема: на сайте объявлений (Drupal 6.15, Views 6.x-2.8), с поиском-фильтрацией через exposed form, началось жуткое разрастание таблицы cache_form (до тысячи записей в час, посещаемость - 2К-3К хитов в сутки по сайту). Посмотрел, все записи - вида form_form-SID, и весят при этом ~73 Кб. Кешируется форма поиска - exposed form.

Можно ли что-нибудь с этим сделать? Отчего такое могло произойти? Кто виноват и что делать?

Битый кеш - нечитаемые символы вместо html

30 сентября 2009 в 11:18

Заметил такую неприятную проблему: при сбросе кеша (разом везде через admin menu) иногда на некоторых страницах происходит некорректное кеширование - при открытии её анонимом она выглядит как набор нечитаемых символов (похоже, что пожато gzip-ом, но браузером не распаковано) пока конкретно разобраться не получилось, т.к. специально повторить баг не удается (vds + nginx + spawn-cgi), может кто-нибудь с таким сталкивался и сходу укажет пути решения?

Доступ запрещен для неавтризованных и др.

28 октября 2008 в 11:13

На днях обновил сайт с Drupal 5.10 до 5.12 вроде забыл update.php запустить (сегодня запустил), работаю дальше, все работает, но оказалось - только для меня-админа, для незарегистрированных - "доступ запрещён" (хотя галки как стояли так и стоят - где надо), а на главной - "Добро пожаловать на ваш новый сайт на Drupal! Сделайте несколько шагов для настройки и запуска вашего сайта:", как это всё устранить? предполагаю какое-то поле в БД надо поменять. Пациент - kendala.com

Ошибка: "материалы отсутствуют" в "содержании"

22 апреля 2008 в 9:54

Сегодня, ничего не подозревая, захожу в админку (/admin/content/node) проверить что нового насобирал мой скрипт (автосоздание материалов, давно уже работает как часы, но кто знает, может при заполнении материала что-то могло произойти, но что...) и обнаруживаю, что "Материалы отсутствуют" при этом число страниц выводится верно и даже изменяется при фильтрации, сам сайт работает - все материалы показываются как надо.

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

p.s. никаких "противоправных" действий не припомню - вчера вечером работало.

Автоматическое создание материала с таксономией

20 марта 2008 в 20:49

Здравствуй, сообщество.
Не хватает чёткого faq по автоматическому созданию материалов (node)

Проблема с этим: создаю автоматом ноду

$node = array('type' => 'news');

$form_values = array(
'title' => $title,
'body' => $body,
'path' => $path, // можно не использовать, автоалиасы сделают своё дело
'format'=> 2,
'field_author' => array(array('value'=>'Иванов Иван')), // cck поле, сохраняется нормально
'name' => $name, // имя автора
'uid'=>1
);
drupal_execute('news_node_form', $form_values, $node);

Проблема, как создать ноду: а) с существующим термином словаря, б) с новым термином словаря.