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

Создание Sitemap

22 октября 2010 в 8:46

Добрый день, уважаемые участники форума!

У меня по ходу работы над сайтами возник следующий вопрос: Мне нужно генерировать файлы sitemap.xml.
Только суть в том, что у меня сейчас настроен мультисайтинг на 22 сайта. И нужно каким-то образом сгенерировать sitemap.xml для каждого из них и чтобы это всё каким-то образом работало...

Решил первым делом спросить здесь у вас. А параллельно буду спрашивать Гугл. Но если кто-то с подобным уже работал - пишите! Буду очень признателен за помощь!

Вопрос по кэшированию (кэш в файлах, в БД)

27 июля 2010 в 8:35

Добрый день, уважаемые участники форума.

У меня возник вопрос по поводу кэширования. Не знаю почему, но у меня с ним с самого начала не задалось, не могу разобраться как грамотно всё это настроить.
Сейчас настроен Authcache. В settings.php в $conf['cacherouter'] было прописано 'engine' => 'db', мне казалось, что страницы медленно грузятся. Поменял на 'engine' => 'file'. То ли самовнушение сработало, то ли действительно быстрее стали страницы загружаться. И вроде бы всё здорово, но когда я зашёл в папку files/filecache, то просто офигел. Там такое впечатление, что тысячи или десятки тысяч файлов кэша! Это при том, что сайт ещё находится вообще в тестовом режиме и посетителей там почти нет.

В чём может быть дело? Что я мог неправильно настроить? Кэширование у меня сейчас включено для всех ролей (в том числе и для анонимов). Может это как-то повлиять или нет? Для страниц администрирования я кэширование отключил. Включены Компрессия страниц и Кэш блоков. Также включены оптимизация CSS и оптимизация JS (но это вообще не должно было на кэше никак отразиться).

Сайт работает в связке с другим сайтами через SingleSignOn. Что ещё добавить, даже не знаю.

Или это нормально, что там такое нереальное количество фалов кэша сохраняется?
Может их просто надо чистить раз в какое-то время? (сайт работает не больше 3-4 недель, посетителей почти нет, поэтому и недоумение по поводу количества файлов).

Замена стандартного поиска

21 июня 2010 в 15:38

Добрый день!

Не подскажите, как можно организовать собственный несложный поиск на сайте?
Хочется сделать что-то на подобии:
- допустим есть какой-то блок на странице, в блоке содержится только input для ввода текста и кнопка "найти",
- по нажатию на кнопку, загружается страница с результатами выборки, например "Все фирмы начинающиеся с букв Mirco" (выведет Microsoft, Microvawe... и т.д.).

Вопрос: как это лучше реализовать? Если сделать input для запроса и кнопку submit, то какие куда параметры должны передаваться по нажатию на submit?
Скорее всего при нажатии на кнопку надо будет передать аргумент во view, который сделает выборку по названиям фирм и выведет на странице.
Но поковырявшись в аргументах, я так и не нашёл как сделать поиск по первым буквам...

Пожалуйста, если есть какие-то идеи - подскажите как можно всё это грамотно сделать?

Поиск во Views

15 июня 2010 в 16:04

Уважаемые участники форума, подскажите как можно организовать поиск по материалам с помощью Views (вообще через Views лучше делать или через что?).
Допустим, у меня на сайте есть каталог компаний.
Нужно внизу под списком компаний по категориям прикрутить поле для поиска.

Как здесь, точь в точь... Как это можно сделать, подскажите пожалуйста!

Заранее благодарен!

Рассылка новостей

14 мая 2010 в 10:10

Добрый день!

Я думаю, уже 100 раз это вопрос поднимался, но хотелось бы уточнить вопрос по рассылке с учётом некоторых специфичных потребностей моего сайта.
На сайте есть несколько типов Контента, в том числе Новости и Статьи.
В принципе, нужно просто, чтобы был блок, в котором пользователь мог бы ввести e-mail и отметить чекбоксами, на что он хочет подписаться: на Новости, на Статьи или и на то и другое сразу.

Установил модуль Simplenews, но пока не разобрался с ним до конца. Хотелось бы узнать, можно ли в нём настроить следующее:
- Вид блока (как я уже описал до этого) с возможностью выбора на обновления каких именно разделов (Новостей или Статей) пользователь хочет подписаться,
- Чтобы в письме приходили только заголовки и ссылки добавленных за последние сутки Новостей и Статей,
- Чтобы модуль раз в какой-то промежуток времени сам высылал письма с добавленными за последние сутки материалами (точнее их заголовками).

Можно ли это всё настроить с помощью Simplenews или нужно искать (писать) другой отдельный модуль?

Поделитесь опытом, пожалуйста! Буду очень благодарен за советы.

Вывод терминов таксономии

5 мая 2010 в 13:04

Добрый день, уважаемые разработчики!
Есть следующая ситуация: на сайте есть Компании, у этих компаний могут быть Работы. Эти работы разбиты по Разделам. Компании и Работы - это типы данных. Разделы - словарь таксономии. Допустим есть Компания Microsoft, у неё есть Работа Windows XP, которая относится к разделу ОС, есть Работа Windows Vista, которая тоже относится к Разделу ОС. И есть Работа Age Of Empires, которая относится к Разделу Игры.
Мне необходимо просто вывести в виде списка те термины, которые упоминаются в Работах Компании. То есть для нашей любимой Microsoft должно получиться:

  • ОС
  • Игры

Создаю View с Аргументом "Компания". В Fields ставлю Taxonomy:Term. В Filters ставлю: Taxonomy:Term -> is one of (выделяю все возможные варианты) и ставлю галочку Reduce duplicates. В итоге не выводится вообще ничего. Если галочку Reduce duplicates убираешь, то выводится:

  • ОС
  • ОС
  • Игры

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

Вопрос по мультисайтингу

20 апреля 2010 в 14:12

Добрый день, уважаемые разработчики!

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

Из прочитанного:
http://www.razgonka.ru/multisiting/
http://www.drupal.ru/node/6226
http://www.drupal.ru/node/12437
и даже почти всё из http://drupal.org/node/43816.
Из увиденного:
http://www.drupal.ru/node/37277
http://www.drupal.ru/node/36877
и http://gotdrupal.com/videos/multisites-vs-multiple-sites
После такого потока информации, я понял в принципе что к чему, но при этом порядком запутался...

если View возвращает пустой результат

15 апреля 2010 в 12:11

Здравствуйте! Если кто может - помогите! Я уже запутался и не знаю, что делать.
Есть View, который возвращает список записей, добавленных конкретным пользователем: Допустим, пользователь User1 заходит на страницу со своими записями и у него там отображаются записи, которые добавлены именно им самим. Записи остальных пользователей у него не отображаются.
Я сделал это во Views с использованием аргумента User: uid.
Но есть очень специфичная потребность: если пользователь не добавлял никаких собственных записей, то для него на странице нужно вывести ВСЕ записи всех пользователей.
Как это реализовать? То есть как бы получается надо заставить View в случае возвращения пустого результата заставить вывести результат другой выборки.
Надеюсь, всё нормально расписал. Помогите, кто знает, а то совсем в тупике...

Очень сильно тормозит сайт

12 апреля 2010 в 10:54

Добрый день! Уже не первый раз сталкиваюсь с тем, что сделанный сайт на Drupal страшно тормозит. Причём я не могу понять из-за чего именно: из-за хостера или из-за того, что я что-то криво настроил. Хостер - Hosting-Center, виртуальный хостинг "Мир-2".
На сайте использованы CCK, Views, Devel и куча маленьких модулей и очень много темизированных tpl файлов.

Иногда работает просто отлично: можно сказать "летает". Но проходит время и он сначала начинает "подтормаживать", а потом просто "падает" минут на 15-20 в "502 Bad Gateway".

Чтобы не гадать впустую, хотелось бы спросить: чем и как можно продиагностировать сайт? Можно ли посмотреть какие модули больше грузят систему, а какие меньше. Отследить количество соединений с БД и всё в таком роде. Просто пока не хочется тупо сваливать всё на хостинг, хочется разобраться в своём творении для начала...

Login / Register

11 апреля 2010 в 19:19

Здравствуйте! Подскажите, пожалуйста из личного опыта, какой модуль лучше использовать для Входа в систему и Регистрации.
Просто в отличии от встроенного функционала, хочется, чтобы по нажатию на "Зарегистрироваться" появлялось всплывающее окно (ну наверное с помощью AJAX) с необходимыми полями и КАПТЧей. Сейчас поставил модуль AJAX Login-Register, но не могу найти у него никаких настроек. А КАПТЧи у него нет Sad

Глубина таксономии во Views

4 апреля 2010 в 19:46

Уважаемые друпалеры, помогите! Я уже окончательно запутался. У меня есть словарь "Места проведения событий". Структура такая:
- Город 1
-- Место 1
-- Место 2

- Город 2
-- Место 3

- Город 3
-- Место 4
-- Место 5

В общем, обычный словарь с одним уровнем вложенности.

И есть страница вывода событий: выводится дата проведения события, его название, организатор и нужно ещё вывести место! Но место у меня выбирается через Hierarchical Select и собственно в итоге в Taxonomy Terms для конкретного события записывается и город и место, например: Москва, Кремль.
Вывожу все события таблицей: вывожу название, дату, организатора и ставлю поле Taxonomy - Term. Собственно, вместо одного события мне выводится 2 одинаковых, только у одного в "месте проведения" выводится Город, а у другого Место.
Вопрос: Как указать глубину выборки??? Я уже всё перепробовал: есть во Views фильтр Taxonomy ID with Depth - ничего с ним не работает. Установил Taxonomy Views Integrator, но он работает с аргументами, а мне не надо аргументы - мне просто надо отфильтровать по уровню вложенности! То есть указать бы в Filters имя словаря и указать для него глубину...
Я уже читал тут, но мне надо, чтобы выводились записи только вложенного уровня, а не вместе с родительским? Что делать? Как быть? Поделитесь советами, люди добрые!!!

Взаимосвязь словарей Таксономии

1 апреля 2010 в 13:27

Добрый день, уважаемые Друпалеры!

Появился очередной вопрос, на который ничего внятного пока в Гугле не нашёл. Как осуществить взаимосвязь двух словарей Таксономии? Есть словарь с городами и есть словарь с местами проведения мероприятий:

Есть тип данных "Мероприятие" и для него есть поля "Город проведения" и "Место проведения":

Города:
- Город 1,
- Город 2,
- Город 3
- ...

Места проведения:
- Место 1 (которое в реальности находится в Городе 1),
- Место 2 (в Городе 2),
- Место 3 (тоже в Городе 2)
- ...

Необходимо, чтобы при выборе Города 1 появлялись только Места проведения, который реально относятся к Городу 1, ну и так по аналогии для остальных Городов/Мест. И, конечно же, чтобы Место нельзя было выбрать до тех пор, пока не выберешь Город. Явно такие ситуации уже тысячи раз рассматривались и я извиняюсь за 1001-ый раз, но всё же... Просто я даже не знаю как правильно в Гугле написать, как это называется: Vocabulary in Vocabulary или типа того...

Выборка во Views... Или не во Views

25 марта 2010 в 14:36

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

Собственно говоря, я пока сделал следующее: я создал View, в котором отфильтровываю по Node: Type = Компания, в аргументе пишу Taxonomy: Term. В итоге у меня все компании выводятся категоризированными. Например: Изготовление сайтов (2), Реклама на транспорте (1). Собственно, значит есть 2 компании по сайтам, одна по рекламе на тр-те и т.д.

Но мне то нужно вывести полный перечень этих категорий и для каждой из них вывести рядом количество компаний, ну и надо, чтобы категории, для который ещё нет ни одной компании тоже выводились, пусть даже с нулём, типа: Изготовление чего-то там (0).

Вывести полный список терминов Таксономии у меня вообще не получается во Views. Делаю Fields -> Taxonomy: Term Term, Filters -> Taxonomy: Vocabulary = Специализация и ничего не выводится... В общем, я пока в недоумении как мне этот список категорий с количеством фирм для каждой из них сформировать. Можете идею подкинуть? Или может модули какие-то есть для подобных выборок?

И снова белый экран

22 марта 2010 в 15:35

Добрый день! Очень странная ситуация - сидел верстал странички типа node.tpl ни с того, ни с сего весь мой Друпальный сайт пошёл ко дну. ВЕЗДЕ просто отображается пустой белый экран, куда бы ты ни попробовал зайти: на главной, в разделах, везде. Сайт просто не работает! Самое, что интересное - на этом же хостинге, можно сказать в соседней папочке, лежит другой сайт (не на Друпале) и отлично работает. То есть сервер не загнулся, а страдает именно сам Друпал. На всякий случай сделал полный бэкап данных, сделал экспорт базы. Теперь сижу перед белым экраном и думаю, что можно сделать дальше... Может у кого была схожая ситуация? При чём до этого ничего подобного ни разу не было, на протяжении недель 2-3, с самого начала, как собственно и начал делать сайт. Никаких тяжёлых модулей перед "поломкой" не устанавливал. Хостинг РБК, Мир-2. До этого всё "летало". Какие могут быть причины? Я хочу в базе таблички, начинающиеся с "cache_" почистить. При экспорте из базы, обратил внимание, что именно таблички "cache_" все вместе весят около 2МБ, и ещё табличка "batch" примерно столько же (около 2МБ). Не многовато ли для по сути пустого сайта? В общем, буду рад любым советам!

CCK или Таксономия

18 марта 2010 в 15:44

Доброго времени суток, уважаемые!


У меня возникла такая ситуация:

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


Например:

    Рекламные услуги:
  • Создание сайтов
  • Реклама на радио
  • Реклама на ТВ
  • и прочее и прочее
    Производственные услуги:
  • Типографии
  • Широкоформатная печать
  • и т.д.

Ну и в итоге потом надо будет построить выборки компаний по каждой из категорий. Собственно, вот рабочий пример: http://www.reprima.ru/directory.html

Как это лучше реализовать? Завести поля в CCK под каждую из категорий услуг и сделать их CheckBox'ами или всё это делать словарями Таксономии? Просто со всем этим только начинаю работать, поэтому не хочется сейчас уйти в неверном направлении, а потом всё долго исправлять.


Буду признателен за любые дельные советы! Заранее благодарен!

Highslide Назад/Вперёд

15 марта 2010 в 15:29

Попробовал установить модуль Highslidе.

И вроде бы всё супер, всё удобно настраивается. Работает с ImageCache, с Insert.
Но вдруг совершенно неожиданно всплывает баг: нет кнопок управления "Previous/Next". Ковыряния highslide.js и .css ни к чему не привели. Тред на drupal.org молчит. И даже разработчик Highslid'а ничего внятного ответить на этот счёт не может.
Отсюда вопрос: сталкивался ли кто-то с чем-то подобным? Потому что будет очень обидно, если этот модуль не получит никакого развития... Самое интересное, что просто кнопками "Вперёд" и "Назад" с клавиатуры всё прекрасно управляется, но из отображаемого управления нет ничего кроме "Закрыть".

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

новости и Views, есть вопрос :)

12 марта 2010 в 14:05

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

Filters:
Node: Published Yes,
Node: Type = новости.