Конструирование многоязычного сайта добавляет множество деталей, которые нужно учитывать в процессе работы. Это и верстка шаблона, картинки которого могут содержать текстовые надписи. Перевод контента, таксономии. Вопросы навигации по многоязычному сайту. А также многоязычное меню.
Все записи категории ‘Программирование’
Рассмотрим такую несложную задачу администрирования как вход под именем другого пользователя в drupal.
Иногда требуется взглянуть на сайт «глазами» конкретного пользователя. Но нам как администратору сайта не хотелось бы узнавать пароль пользователя, а также прибегать к разного рода техникам «взлома» (вроде подмены хеша пароля в базе данных, пусть даже на время).
Речь пойдет о небольшой задачке, которая постоянно всплывает при переносе данных со старых сайтов на новые.
Т.е. новый сайт уже готов, но есть старый, на котором какое то количество статей, требующих аккуратного переноса, при чем они содержат картинки. При переносе «вручную» приходится копировать сначала текст. Потом скачивать картинки себе на компьютер (ага, save as). Потом мы вставляем картинки в новую статью, т.е. грузим их через файл-менеджер wysiwyg на сайт, корректируем размеры, наверное и заголовок, поле alt понадобится заполнить попутно. Все это не укладывается уже в схему простого copy-paste.
Как подключить CKeditor к Drupal 7 я рассказывал ранее.
После настройки модуль подключит редактор CKeditor к полям редактирования публикаций. А как подключить wysiwyg к собственным формам? В 6-й версии Drupal редактор с помощью модуля CKeditor подключался ко всем полям типа textarea, достаточто было лишь добавить флажок wysiwig:
1 2 3 4 5 |
$form['text_of_richedit'] = array( '#type' => 'textarea', '#wysiwyg' => true, '#title' => 'Текст с подключенным редактором', ); |
Объект класса «__PHP_Incomplete_Class» с дополнительным свойством __PHP_Incomplete_Class_Name => ‘имя класса’ появляется, когда PHP не удается найти объявление класса при операции десериализации объекта. К примеру, такое может происходить при хранении объекта в сессии, когда сессия открывается до подключения файлов описаний классов.
В drupal есть дефолтовы настройки для времени жизни кукисов и рандомной чистки сессий. Хранятся они в файле settings.php.
Пытаюсь получить в одном из методов кода экземпляр объекта Cipher:
1 2 3 |
public void encode(recordData rd, String pass) { Cipher encipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); } |
О замечательном слайдере NivoSlider, я уже писал небольшую заметку. Возвращаюсь к вопросу с некоторыми практическими замечаниями.
Назначение каскадного стиля vertical-align не так прозрачно и понятно, как бы хотелось. Многие (в том числе и я долгое время) ожидал от него выравнивания содержимого контейнера по высоте. А когда этого эффекта не удавалось получить напрямую, разводил руками — мол, что то тут не работает. :)
У меня эта ошибка всплыла для поля с автозаполнением, когда список значений генерировался из PHP кода. Читать далее »