vaplas

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

user-icon

Vaplas vaplas

Drupal 8. DevConf близко

Аватар пользователя vaplas

«В 2015 году Друпала не было на DevConf, и в 2014 году Друпала не было на DevConf, и в 2013 году Друпала не было на DevConf, и они знали, что Друпала на DevConf не будет... 2016. Катя Маршалкина. Друпал на DevConf.»

0 Спасибо

Drupal 8. Entity, мы с тобой одной крови

Аватар пользователя vaplas

Drupal 8. Entity, мы с тобой одной крови

– Все объекты Drupal 8 - Entity.
– Но ведь материалы, пользователи, таксономия, комментарии – они же уже были Entity еще в 7-ке.
– Все - значит все.

8 Спасибо

Drupal 8, Cache & Rock N' Roll

Аватар пользователя vaplas

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

10 Спасибо

Views - разное количество записей в зависимости от номера страницы

Аватар пользователя vaplas

Иногда очень хочется (особенно если ты заказчик, а не разработчик), сделать так, чтобы количество записей, выводимых на странице с помощью Views, зависело от номера страницы.

Например: на первой странице - одна запись (чтобы не навязывать их пользователю), а на остальных - по четыре (чтобы не нужно было постоянно жмякать "далее").

Или так: на первой - 3, на второй - 10 (если пользователю интересно, значит покажем еще больше), на остальных по 20 (для фанатов, осиливших больше двух страниц).

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

0 Спасибо

Грамотная настройка прав доступа к файлам и папкам

Аватар пользователя vaplas

Обновлял сайт на хостинге "Джинс" до версии 7.21 и напоролся на целую череду проблем:

При обновлении модулей:

Обновление модулей и тем требует FTP доступа на ваш сервер
Updating modules and themes requires FTP access to your server

При включении агрегации css/js:

Warning: file_put_contents() [function.file-put-contents]:
Filename cannot be empty in file_unmanaged_save_data()
(line 1903 of includes/file.inc).

Тех. поддержка была немногословной: https://www.jino.ru/support/faq/ftp/

Сверился с настройками прав на другом сайте (размещенном на ит-патрол), вроде все совпадает, но там все работает без ошибок.

1 Спасибо

Content Access на этапе создания материала

Аватар пользователя vaplas

Content Access позволяет разрешить доступ к странице только указанным группам пользователей. Но почему-то это можно сделать только после того, как создан материал, зайдя в его редактирование.

0 Спасибо

[Решено] Нежелательное автосохранение материала

Аватар пользователя vaplas

Все было хорошо. Но пару дней назад появилась беда.

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

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

"Содержимое этой страницы было изменено другим пользователем, или вы уже сохранили изменения, используя эту форму. В результате ваши изменения не могу быть сохранены."

0 Спасибо

Применение image style для изображений внутри текста

Аватар пользователя vaplas

Image style - клёвая штука, которая позволяет автоматически трансформировать (резать, вертеть, масштабировать и т.д.) изображения. Когда изображения находятся в отдельных полях, применить к ним стиль легко. А вот что делать, когда хочется стилизовать некоторые изображения расположенные внутри текстового поля?

Например, есть такое содержимое:

и хочется закруглить одно из его изображений. Как раз есть подходящий стиль, но как его сюда прикрутить? Искал-искал, но чего-то не нашел :( Кто знает - подскажите, пожалуйста.

Пока сделал так:

1. к нужному изображению добавляется класс image-style--НАЗВАНИЕ_СТИЛЯ

0 Спасибо

Решение auto_nodetitle warning

Аватар пользователя vaplas

Модуль Automatic Nodetitles нужен для автогенерации заголовков нод (пожалуйста)

Но при его использовании раз от раза материал отказывается сохранятся, выдавая:

Warning: htmlspecialchars() [function.htmlspecialchars]: Invalid multibyte sequence in argument в функции check_plain()
...
PDOException: в функции drupal_write_record()

В issue проблема решается добавлением в модуль дополнительных функций экранирования и подмены.

Но мне это не помогло. Даже на основе текста без спецсимволов, заголовок иногда генерировался, иногда нет.

0 Спасибо

Rules не хочет заполнять текстовое поле с фильтром

Аватар пользователя vaplas

Задача: при сохранении материала автоматически заполнять одно текстовое поле.

Решение: добавить правило с помощью модуля Rules, возникающая перед сохранением нужного типа материала, с установкой значения поля.

Проблема: если у текстового поля включены фильтры (Full text, Filter text, Plain text) - установка значения не срабатывает. Хотя для поля без фильтров все работает. На чистом сайте такой проблемы нет, только на нужном. При этом ошибок в отладчике Rules вроде нет. Промучился весь день, но так и не понял в чем дело. К сожалению, предоставить доступ к проекту не могу, но вдруг у кого-нибудь была аналогичная проблема?

0 Спасибо

Расширенный формат диапазонов дат

Аватар пользователя vaplas

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

1 января 2012г. - проходит один день
1-2 января 2012г. - проходит несколько дней в одном месяце
1 января - 2 декабря 2012 - проходит несколько дней в разных месяцах
1 января 2012г. - 2 декабря 2013г. - проходит несколько дней в разных месяцах и годах
Январь 2012 - проходит на протяжении всего месяца
январь - февраль 2012 - проходит на протяжении нескольких месяцев
2012г. - проходит на протяжении года

0 Спасибо

Перестал нормально работать модуль metatag alpha5

Аватар пользователя vaplas

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

Проверил работу на чистом сайте - тоже самое. Отключал все глобальные настройки - не помогает.

Подскажите, пожалуйста, в чем может быть дело.

0 Спасибо

Свои токены

Аватар пользователя vaplas

Есть отличный модуль Custom Tokens. С его помощью можно клипать собственные токены (/admin/structure/token-custom), например для использования при формировании пути в pathauto.

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

Цель: выводить новость по пути /news/year/month/day/art-nid

Решение:

1. Создать токен:

Token type: Материалы [needs:node]

Код:

<?php
$fieldDateNews 
$data['node']->field_date_news['und'][0]['value'];
$aDateNews getdate($fieldDateNews);
return 
$aDateNews['year']. "/" $aDateNews['mon'] . "/" $aDateNews['mday'];
?>

2. Снять в настройка удаление "/"

0 Спасибо

Вывод заголовка в несколько строк

Аватар пользователя vaplas

Чем длиннее заголовок материала, тем больше вероятность того, что он выведется в несколько строк самым неправильным образом.

Например, заголовок "Программа семинара «Роль людей, которые умеют что-то делать на жизненное становление людей, который не умеют ничего» (январь - февраль 2012). Логически вывести не так:

Программа семинара «Роль людей, которые умеют что-то
делать на жизненное становление людей, который не умеют
ничего» (январь - февраль 2012)

а вот так что-ли:

Программа семинара
«Роль людей, которые умеют что-то делать
на жизненное становление людей, который не умеют ничего»
(январь - февраль 2012)

1 Спасибо

Выбор изображений через imce с сервера для filefield

Аватар пользователя vaplas

Есть поле, которое заполняется изображениями с сервера.

Существует модуль FileField Sources с поддержкой IMCE.

Для этого при настройке поля нужно во вкладке FILE SOURCES отметить флажком IMCE file browser, а также включить в IMCE FILE BROWSER SETTINGS режим Full:... если нужно предоставить возможность выбирать изображения из любой папки.

Все хорошо. В чем беда? В том что это все глючно работает!(

Автор imce написал специальный патч для filefield_sources. Т.е. применять его надо именно для filefield sources, а не imce.

0 Спасибо

Собственные классы для тегов ul в меню

Аватар пользователя vaplas

При выводе меню друпал добавляет к его тегам различные классы. Щедро так добавляет, и в тег li, и в тег a, а вот в "ul" - нишиша. Точнее добавляет один шиш - "menu", не зависимо от того, насколько этот ul вложен в другие.
Между тем, очень много скриптов по выводу менюшек завязаны на специальных (уникальных) метках тега ul. Особенно это касается корневого (первого, главного, начального) UL.

Как всегда нашлось уже много тем, не принесших пользу в решении этой проблемы:

http://www.drupal.ru/node/74071
http://www.drupal.ru/node/68859
http://www.drupal.ru/node/65035
http://www.drupal.ru/node/22932#comment-215099
...

В чем же сложность? А в том, что обертку пунктов меню производит вот эта функция

<?php?>

0 Спасибо

Путь к списку новостей состоящий из года/месяца/дня

Аватар пользователя vaplas

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

новости/2012/01/04

получать список новостей за указанный день, и аналогично получать за месяц (новости/2012/01), год (новости/2012), и все (новости),

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

Максимум, чего удалось добиться, это новости/2012-01-04, и они бы меня тоже устроили (ладно уж, раз не умею, то не гордый), но у них постоянная точность, т.е. либо с точностью до дня, либо до месяца, либо до года.

0 Спасибо

Отключение css для определенных пользователей

Аватар пользователя vaplas

Кроме стилей из темы в друпале подключается еще пара десятков других стилей, связанных с модулями и самой системой. И если администратору они нужны, то пользователь прекрасно обойдется и без них (ведь так?).

В 7-ой версии это делается с помощью hook_css_alter.

Беда только в том, что почему-то везде где я видел этот прием, стили отключаются для всех - и админов и пользователей.
Но ведь пользователи не равны!
И если админу нужно оставить стиль модуля Administration menu, то зачем из-за этого страдать пользователю (или наоборот).

0 Спасибо

[Решено] Свои шаблоны в CKEditor

Аватар пользователя vaplas

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

В редакторе CKEditor можно использовать уже готовые шаблоны

0 Спасибо