Создавайте статьи Joomla программно в несколько таблиц базы данных

Я нашел это решение Создайте Joomla! Статья Программно очень полезна даже с Joomla 3.1, однако я столкнулся с новой проблемой, когда включен плагин editors-xtd, который обычно предоставляет дополнительные поля для таблиц базы данных, отличных от #_content. Например, плагин tortags будет записывать теги в таблицу #_tortags.

Как мы можем программно обновить несколько таблиц в Joomla?


person Miaoling Zhang    schedule 11.06.2013    source источник


Ответы (1)


Найдите, какие поля каких таблиц вам нужно обновить, а затем обновите одну таблицу за другой. Пример, на который вы ссылаетесь, использует JTable для выполнения обновлений, но вы также можете использовать объект базы данных. В качестве примера, вот что я делаю, чтобы разместить статью (созданную моим кодом) на главной странице:

$db =& JFactory::getDBO();
$sql = "INSERT INTO #__content_frontpage (content_id,ordering) VALUES (" . $article->id . ",0)";
$db->setQuery($sql);  
$db->query();
person MBaas    schedule 12.06.2013
comment
Раньше я использовал этот (и аналогичный) подход, но связанные таблицы, например, #__assets, не будут обрабатываться, и написать скрипт для обновления этих таблиц также несложно. Преимущество получения экземпляра модели JTable или статьи заключается в том, что вы эффективно моделируете процесс отправки статьи, поэтому все таблицы обновляются после проверки. - person Miaoling Zhang; 13.06.2013
comment
Я не думаю, что получение экземпляра JTable будет имитировать отправку статьи, но использование модели статьи кажется интересным - мне это может понадобиться ;-) - person MBaas; 14.06.2013