Блог пользователя - CSoft

menu_rebuild выполняется не полностью

4 июля 2011 в 3:02

Привет, друзья!

Возникла проблема. Есть магазин на Ubercart. До недавнего времени всё работало идеально, пока не был создан очередной, примерно 40-ой класс товара. Во время этой процедуры страница начинает грузиться и в итоге выбивается, браузер пишет, что невозможно отобразить страницу. Дальше уже обновляешь её и всё нормально, класс создан.

Долго искал причину, с трудом обнаружил, пока в коде при создании класса не убрал вызов функции menu_rebuild. Потом начал копать глубже, уже внутри неё, и в _menu_navigation_links_rebuild в цикле foreach обнаружил, что из примерно 2500 пунктов меню, скрипт успевает обработать лишь около 1800. Если закомментировать menu_link_save, то всё нормально. Пробовал вызывать menu_rebuild отдельно - тоже самое, полностью обработать всё он не успевает, но страница при этом догружается до конца, не вылетает.

Копировал сайт целиком к себе на компьютер, запускал локально - проблем нет.

Что интересно, хостинг (beget) мне сразу понравился, довольно шустро всё на нём и проблем никогда не было. Неужели при обработке уже такого большого числа новых пунктов меню он просто перестал это успевать и придётся переходить на другой тарифный план, так как не хватает ресурсов? Поможет ли это, или проблема совсем в другом?

Хотелось бы разобраться с опытными людьми в этом вопросе. Спасибо!

Фильтрация во Views по значению выбранного поля

23 марта 2011 в 3:17

Всем привет Smile

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

Итак, вкратце.

Есть тип материала Организации, у которого есть группы CCK-полей для заполнения адреса (из них сейчас меня интересует поле Город, которое принимает числовое значение - tid термина таксономии).

Есть тип материала Вакансии, который имеет Node Reference поле, указывающее на ноду организации, от которой на сайт поступит вакансия.

Так как у организации может быть несколько адресов, я добавил для вакансий список, из которого можно выбрать нужный адрес. Его значение из списка будет равняться delta выбранной CCK-группы адресов.

Что нужно в итоге.

Вывожу вакансии. Нужна фильтрация по городу. Например, пользователь из Москвы, id его города берём из кук = tid термина таксономии, совпадает с значением поля-города из типа материала Организация (добавляем взаимосвязь для нашего Node Reference поля, через аргумент и php подставляю id города). Отфильтровали.

Адреса могут быть из одинаковых городов, поэтому мне нужно взять значение поля Адреса организации Вакансии и подставить его как-то в качестве фильтрующего значения delta для CCK-поля города. Это нужно для того, чтобы при добавлении вакансии и выборе Питера среди адресов, вакансия не выводилась на сайте, ведь в организации, добавившей её, есть и Московский адрес. Поэтому мне нужна эта дополнительная фильтрация по delta-значению.

Картинки для опций атрибутов Ubercart

6 сентября 2010 в 2:40

Доброго времени суток!

Мне необходимо сделать возможность выбора картинок для опций атрибутов.

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

По теме мне знакомы 2 модуля:

1. uc_option_image - не подходит совершенно. Задумка моя тут не реализуема.

2. uc_radio_images - работает только для радиокнопок. Да и для них не получилось настроить... Но по описанию это именно то, что нужно мне. Но хотелось бы ещё для флажков...

Массовое обновление атрибутов Ubercart

17 августа 2010 в 4:55

Привет, друзья!

Добрался до атрибутов товаров в Ubercart.

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

Добавляю товар с данным классом, атрибуты вписались сами, как и положено.

Добавил товаров эдак тысячу.

Настал момент изменить цену некоторой опции этого атрибута. И что, я как дурак должен руками править каждый добавленный товар теперь? Sad Сначала подумал, что достаточно будет в классе товара обновить опции атрибута, но это не помогает.

Комплектация товаров в Ubercart

12 августа 2010 в 4:46

Привет, друзья!

Мне необходимо в товарах добавить такую фишку, как комплектация товаров.

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

Вроде бы это обычные атрибуты. Хорошо, а если у меня товаров таких будет очень много, а атрибуты ведь добавляются все в одну кучу - как это всё редактировать-то? Не вижу удобств. А может я просто что-то не так понял... Ибо атрибутами пока никогда не пользовался Smile

И вторая фишка, которая требуется - опции. Это уже дополнительный товар, который я могу приобрести с текущим. Вот это уже чисто атрибуты, я смотрю.

Но... Я торопиться не буду, а покажу вам ссылку обоих вещей, о которых говорил выше:

http://www.axor.su/item/3187/

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

Описание раздела с выводом всех его продуктов

7 августа 2010 в 2:58

Всем привет!

Ubercart создаёт свой словарь таксономии и в него добавляются термины. Например, у меня это выглядит следующим образом:

Раздел
- Категория1
- Категория2

Ubercart позволяет сделать блок с меню словаря с терминами. Очень удобная и полезная вещь. При выборе некой категории выводится список товаров в ней. А при клике по разделу - выводится меню категорий в нём.

Мне нужно сделать так, чтобы при выборе раздела выводилось его описание со всеми продуктами, входящими в него. То есть, берутся продукты из Категория1, Категория2 и выводятся сразу под описанием. Если описание сделать не проблема (это задаётся при создании термина), то как мне вывести все продукты категорий раздела?

Чувствую, что мне придётся отказаться от всех этих прелестей Ubercart и создать своё меню, вывести описание раздела и ниже с помощью Views - все продукты.

А вдруг всё же есть решение попроще? Или тут только так, как я написал выше? Если только так - опишите, пожалуйста, как именно бы вы это сделали. Вкратце.

Заранее спасибо за помощь Smile

Не отображается форма загрузки файлов в IMCE

5 августа 2010 в 3:22

Установил на сайт модули ckeditor и imce.

В ckeditor выбрал в качестве файлового браузера imce.

В редакторе добавляю фото, выбираю "Просмотреть на сервере" и получаю следующую картинку (прикрепил к посту).

Отсутствует форма для загрузки файлов Sad Как же так?

Пробовал ставить версии помладше - не помогло.

Почитал тут некоторые темы, понял, что могут быть конфликты модулей. Отключил некоторые, более-менее очевидные. Не помогло... Сейчас активны:

Темизация формы поиска. Лишние div'ы

1 августа 2010 в 16:13

Всем привет! Вроде изъезженная тема, но всё равно есть вопрос...

Благодаря многим полезным статьям здесь сделал свою форму, как мне нужно. Но бесит одна вещь - элементы заворачиваются в дивы, причём местами очень бестолково.

Например:

<div>поиск <div class="form-item" id="edit-search-block-form-1-wrapper">
 <input type="text" maxlength="128" name="search_block_form" id="edit-search-block-form-1" size="15" value="" title="Введите слова, которые вы хотите искать." class="form-text" />
</div>
 <input type="submit" name="op" id="edit-submit" value="" class="form-submit search" />
...
</div>

Ужас... Решил я убрать всё лишнее, отыскал, что это всё вокруг рисует theme_form_element, оформил его в template.php, подкорректировал под себя.

Всё отлично, всё нравится, но, как вы поняли, это коснулось всех форм на сайте. Вот собственно и вопрос: можно ли вызвать эту функцию только для модуля поиска или ещё как-то по-другому? А может даже и другой совсем путь есть...

Мне дивы эти не просто портят вид формы (хоть я и могу в css сделать всё, что нужно), они там тупо не нужны...

AJAX форма

11 июля 2010 в 2:12

Всем здравствуйте!

В Drupal начал работать недавно. Изучил его работу, теперь собрался переходить к разработке модулей, углубляться в программирование для Drupal.

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

Я так понял, это мне нужно писать свой модуль.

Теперь собственное какую помощь я хотел бы попросить: направьте меня, пожалуйста, в какую сторону мне копать? Можно по пунктам (тут тебе нужно то-то, потом вот так вот). Я сам программист и разобраться смогу быстро, просто нужна наводка. Поисками материала занимался, но в полной мере всё не нашёл, а хочу сделать сразу и по-человечески Smile

Буду благодарен за любую помощь. Спасибо!