Какую серию операторов MySQL необходимо выполнить, чтобы программно добавить страницу в Concrete5? - PullRequest
0 голосов
/ 19 ноября 2010

Я хочу создать, а затем периодически заменять контент в конкретной 5 CMS.

Я определил 15 таблиц, которые изменяются при добавлении новой страницы (с помощью diff MYSQL).

Однако я не совсем понимаю, как эти таблицы получают свои значения, особенно значение bID в btcontentlocal.

Я обнаружил только concrete5 сегодня, поэтому, если вы знаете, что существует API для публикации контента в бэкэнде, пожалуйста, поделитесь этим со мной тоже!

Ответы [ 2 ]

0 голосов
/ 20 декабря 2011

См. Эту документацию. http://www.concrete5.org/documentation/developers/pages/overview

Вы можете добавлять страницы, используя код C5 self;)

0 голосов
/ 20 ноября 2010

Concrete5 обычно не «заменяет» контент - скорее, он добавляет новую ревизию в историю страницы (обратите внимание, что по историческим причинам страницу часто называют «коллекцией» в коде и базе данных -- как в «наборе блоков»).BID - это идентификатор блока, который будет меняться каждый раз, когда блок редактируется (опять же, потому что он фактически не редактирует блок, который был там, а скорее копирует этот блок в новый, так что старый остается для истории изменений),

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

Я бы настоятельно рекомендовал не делать этого с помощью запросов к базе данных - Concrete5 - очень сложная система, и естьпроисходит много мелочей, которые вы не хотите случайно исключить из процесса.Лучший подход - выяснить, как это сделать с помощью самих моделей.К сожалению, я не думаю, что есть одна простая API-функция для всего этого - вместо этого вам нужно будет найти 5 или 6 различных вещей, которые нужно сделать.Возможно, вам повезет больше, если вы зададите этот вопрос на форумах concrete5: http://www.concrete5.org/community/forums/customizing_c5/

...