+60.64
450 читателей, 105 топиков

Создание админки. ч1. Создание модуля для работы с настройками(данными) из БД.

Вступление


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

Хранилище данных настроек


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

Читать дальше →

Украшение на НГ

ВАЖНО: скачивание плагина и файлов (см. ниже) прекращено. Если вам ещё актуально, то пишите или в личку или в комментах.
Всех поздравляю с наступающим Новым годом!
Если вы ещё не успели украсить свой сайт на праздники, то предлагаю вам один из вариантов украшений на Новый Год. Выглядеть это будет примерно так
новогодее украшение для сайта
Помимо прочего, игрушки издают перезвон если по ним водить мышкой (картинка кликабательна, можете проверить).
Есть три варианта, как это сделать.
Подробности под катом.

Читать дальше →

Как сохранить совместимость при адаптации js шаблона (плагина) к js движка

Зачастую при адаптации шаблонов/плагинов так и тянутся руки поправить js в движке, что чревато потерей совместимости с другими шаблонами и плагинами.

Чтобы разобраться с этим вопросом и с целью самообразования, решил написать этот топик — может кому-то пригодится.

Какие есть варианты:
  1. Редактировать js-файлы прямо в движке
  2. Переписать (переопределить) нужный метод

Читать дальше →

Советы по локализациям (подводный камушек)

Привет сообщество!
Веду беларускамоўны проект для ЛС. Естественно делал локализацию. Столкнулся с проблемой, что на сайте не верно склоняются некоторые лэйблы (если использовать другие локализации, да-да). Мной замечены даты и изображения.

К примеру в фотосетах слово «изображение» на русском языке склоняется следующим образом:
1,21,31… изображение
2,3,4; 22,23,24… 32,33,34… изображения
5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 изображений

Читать дальше →

Русский язык в результатах поиска

Не так давно захотелось мне сделать русский язык в результатах поиска, а именно, чтобы количество найденных топиков и комментариев выводилось так: 3 топика, 11 комментариев.

Сделать это проще простого, однако в силу природной лени и версии 0.2 движка у меня, публиковать хак не хочу ;) Привожу текст хака здесь, вдруг кому понадобится (а кому надо — тот разберется).

Читать дальше →

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

При работе на Shared хостинге возможна ситуация, когда загрузка изображений в фотосет зависает на фразе «file.png Resize...», хотя файл на сервер загрузился и все операции над ним выполнились. Эта ошибка сопровождается следующим сообщением в log-файле:
[15-Nov-2013 00:00:00] PHP Warning:  filesize() [<a href='0function.filesize0'>function.filesize0</a>]: open_basedir restriction in effect. File(/var/sites/site.ru/tmp/phpsnEaep) is not within the allowed path(s): (/var/sites/site.ru/htdocs/:.) in /var/sites/site.ru/htdocs/classes/actions/ActionPhotoset.class.php on line 267


Вызвана данная проблема одновременным действием двух источников:
1) не совсем корректной настройкой PHP, связанной с включенными директивами "open_basedir" и "upload_tmp_dir";
2) неточностью в определении размера загруженного файла в классе "ActionPhotoset".
Исправление любого из пунктов приводит к нормальной работе процесса загрузки.

Читать дальше →

Использование консоли для создания каркаса плагина под Windows (XP)

Создаем новый файл с расширением .bat, записываем в него:
@echo off
set /p var="Введите имя плагина: "
C:\WebServers\usr\local\bin\php.exe C:\WebServers\home\su\livestreet\engine\console\ls plugin new "%var%"
Pause
меняем пути на свои и сохраняем в кодировке DOS-866. Теперь не нужно прописывать все пути заново — достаточно ввести только название нового плагина.
Читать дальше →

О том, как я блоги в меню выводил и ЛС ломал

Скорее всего этот вариант не самый лучший, но…
Задача состоит в том, чтобы из меню Блогов убрать персональные/коллективные
и вывести список определенных блогов сайта(подразумевается, что сайт не имеет персональных блогов, а еще тематика сайта очень строгая, более-менее статичная).

Менять нужно 2 файла.

Читать дальше →

Как не потерять текст при написании топика



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

Чтобы избежать этого, мы можем выводить предупреждение по событию beforeunload, т.е. перед тем как пользователь покидает страницу. Только перед этим проверим были ли изменения в полях ввода.

Как реализовать?
Необходимо на страницах добавления и редактирования топика добавить скрипт. На мой взгляд проще всего это сделать через php-хук движка:
Читать дальше →

С наступающим 2015-м годом!

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


Читать дальше →