Вопрос по записи данных в разные таблицы БД и ORM

Пробую написать плагин вопросов. Делаю по аналогии с топиками. В БД создаю две таблицы для вопросов:

CREATE TABLE IF NOT EXISTS `prefix_question` (
  `question_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `user_id` int(11) unsigned NOT NULL,
  `question_title` varchar(200) NOT NULL,
  `question_tags` varchar(250) NOT NULL COMMENT 'tags separated by a comma',
  `question_date_add` datetime NOT NULL,
  `question_date_edit` datetime DEFAULT NULL,
  `question_user_ip` varchar(20) NOT NULL,
  `question_publish_index` tinyint(1) NOT NULL DEFAULT '0',
  `question_count_read` int(11) unsigned NOT NULL DEFAULT '0',
  `question_cut_text` varchar(100) DEFAULT NULL,
  `question_text_hash` varchar(32) NOT NULL,
  PRIMARY KEY (`question_id`),
  KEY `user_id` (`user_id`),
  KEY `question_date_add` (`question_date_add`),
  KEY `question_text_hash` (`question_text_hash`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;


CREATE TABLE IF NOT EXISTS `prefix_question_content` (
  `question_id` int(11) unsigned NOT NULL,
  `question_text` longtext NOT NULL,
  `question_text_short` text NOT NULL,
  `question_text_source` longtext NOT NULL,
  `question_extra` text NOT NULL,
  PRIMARY KEY (`question_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


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

Базовые вопросы по LiveStreet CMS

Всем привет! Я сейчас в поиске нового движка для своих разработок. С опенсорными php-движками как-то грустно все сейчас. Активно развиваются фреймворки, а КМС или совсем хилые, или очень устаревшие. Drupal 8 не оправдал надежд. Собирался даже свой движок писать, от отчаянья.
Случайно наткнулся на Ливстрит. В целом нравится. Хоть и плохо, что нет поддержки современных стандартов PSR. Но есть некоторые базовые вещи по структуре, которые не очень понятны. И прошу пояснить, кто может, или накидайте ссылок, где можно почитать, честно искал но не нашел.

Вот есть архитектура MVC. Про V и C я понял, V — это модуль на базе Smarty, а C здесь называются ActionXXX. А вот с M не очень понятно. Есть ModuleXXX, MapperXXX и EntityXXX. Это все к модели относится? А зачем тогда такое разделение было задумано? Наверно есть, какие-то причины?

И еще посоветуйте где почитать про ORM. А то нашел много статей про это на сайте, но хочется с самого начала понять как работат. Мне нравится как в yii это сделано. Но здесь сильно отличается.

Плагин "Отзывы"

Решил попробовать себя в создании плагинов. В результате полуторанедельных трудов получился небольшой плагин добавляющий на сайт раздел отзывов.

Плагин создает на сайте новую страницу на которой любой зарегистрированный пользователь может оставлять свои отзывы. Отзывы можно редактировать и удалять. В конфиге плагина присутствуют настройки необходимого рейтинга и времени для добавления записей.

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

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

Как в плагине перенаправить на другую страницу после отправки формы?

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

Имеем экшен jokes и ивенты index и add. Добавление шутки происходит в ивенте add, после него необходим переход на index. Вот что у меня на данный момент прописано в файле classes\actions\ActionJokes.class.php:

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

Миниплагин "User Note"

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

Плагин можно использовать для вывода сообщений от администратора сайта.

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

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

Небольшой кешер

Добавил в каталог небольшой плагин-кешер, которых умеет сохранять полученный объекты пользователей на время жизни инстанса плагина.
Т.е. плагин локально хранит объект пользователя и при его повторном запросе не обращается заново к кешу или БД, а просто возвращает его из массива.


Плагин на GitHub.
Сказать спасибо можно на ЯД 410011972198043.

Плагин «Топик навигация»

2 фото
image

Если текст топика большого размера Вы можете разбить его на разделы используя теги <h4>, <h5>, <h6>. При просмотре топика к нему будет добавлено оглавление для удобной навигации пользователей.

Пример работы здесь.

Плагин "LS Anticipate - Технические работы"

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

CRON и плагин (LS 1.0.x)

Подскажите, пожалуйста, по работе CRON со скриптами плагина в LS 1.0.3.
Есть необходимость запуска некоторых скриптов плагина по расписанию.
— в LS 1.0.3. нет общего CRON-скрипта-обертки, который управляет остальными скриптами по расписанию?
— есть ли какая-то обертка для скриптов плагина, запускаемых по расписанию?

Не могу что-то найти в документации. Тыкните, пожалуйста, если это описано )

Спасибо!