4 комментария

+1
Тут два способа, не знаю какой вам больше подойдёт:
1. Все действия над данными инициализируются либо экшеном, либо кроном (последнее не будем брать), конкретно топик добавляется экшеном ActionContent, который находится в файле common/classes/action/Action.content.class.php и его ивентом SubmitAdd. Посмотрите там, как это делается. Если коротко, то создается сущность топика $oTopic, заполняются свойтва этой сущности и она пишется в БД методом $this->Topic_AddTopic($oTopic);

2. Записать данные топика напрямую в БД таким запросом
Но в этом случае: не обновится кэш (его придется сбрасывать вручную), картинки топика не зафиксируются в таблице ресурсов, теги не попадут в свою таблицу тегов, не обработаются доп.поля топика.
Отредактирован:
0
В основном, разобрался, спасибо. Однако, пока не очень понятен смысл некоторых вещей… Так и не нашел, где и как при обычном сабмите заполняются textshort и text, там вроде только textsource… а если я не задаю явно textshort & text, то у меня в таблицу topc_content ничего не добавляется, со всеми вытекающими… E::Topic_AddTopic($oTopic) при этом возвращает true

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

Например, для урла оригинала, и в отдельной таблице ибо extra не подходит за отсутсвием индекса, а нужно проверять при импорте на дубли, как раз по урлам оригиналов… можно по хэшам смотреть конечно, но не совсем верно. Мме и таблицы url->topcId уже для проверки хватит, но интересно как это по уму «впаять» в движок?

Спасибо!
+1
Так и не нашел, где и как при обычном сабмите заполняются textshort и text
В экшене ActionContent с помощью метода E::ModuleText()->Cut($sText)

Тип контента позволяет разделить типы топиков по их содержанию, например: обзоры, спецификации, опрос и т.д. Типы контента создаются в админке и идентификатор типа пишется в БД в prefix_topic.topic_type
Сами типы контента можно привязать к типу блога и тогда, в созданный уже в клиентской части блог можно будет постить эти типы контента (в версии 1.1 к типу блога можно привязать несколько типов контента, а в версии 1.0 только один)

нужно проверять при импорте на дубли, как раз по урлам оригиналов…
Проверять на дубли через ...topic_extra LIKE '%http://altocms.com/218.html%'... не подходит?
Отредактирован:
+1
Проверять на дубли через ...topic_extra LIKE '%http://altocms.com/218.html%'… не подходит?
Работать будет. Но, подозреваю что по по скорости это не ахти. В случае отдельного поля, там честный деревянный индекс, что даст максимальную производительность. Хотя я могу чего то не знать про LIKE.

Ну и вообще, на будущее хочется знать какие варианты(я так понял тут их >1) расширения функционала есть. Скорее всего в БД отдельная таки таблица будет. А вот как в коде все прописать правильно? Модель топика ли расширять обучая ее оперировать с новой таблицей, или создавать отдельную модель. Как отдельную модель подружить с моделью топика… и тд и тп. Потихоньку в общем сам разберусь но, если распишите(можно отдельно даже) — буду признателен(думаю, не только я).

Спасибо!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.