Редактировать выпуск статей Joomla в терминале - PullRequest
0 голосов
/ 12 марта 2009

Как вы можете редактировать статьи Joomla в терминале?

Проблема: узнать, где Joomla хранит свои статьи

Я пытался найти статьи безуспешно

locate Masi | xargs -0 grep great

Ответы [ 2 ]

3 голосов
/ 12 марта 2009

Статьи хранятся в базе данных в таблице с именем jos_content. Если вы хотите найти и заменить их всех, откройте соединение с базой данных (или используйте что-то вроде phpMyAdmin) и запустите что-то вроде этого:

 UPDATE `jos_content`
 SET    `introtext` = REPLACE(`introtext`, 'great', 'awesome'),
        `fulltext`  = REPLACE(`fulltext`, 'great', 'awesome')

Редактировать , чтобы помочь вам отладить проблему:
Вы не сможете найти «jos_content» в своей кодовой базе из-за функции Joomla, которая позволяет указывать разные префиксы таблиц: «jos» - это префикс по умолчанию. В коде это всегда пишется так: #__content, и объект DBO преобразует его в "jos_content" за кулисами.

Однако вам вообще не нужно искать код, а только базу данных. Вы должны иметь возможность подключиться к базе данных - все необходимые данные будут в вашем файле configuration.php.

  • Если вы используете Joomla 1.5, нужные вам переменные называются $host, $user, $password и $db.
  • В Joomla 1.0 переменные имеют имена $mosConfig_host, $mosConfig_user, $mosConfig_password и $mosConfig_db

Существует несколько способов подключения к базе данных (уточните у хостинг-компании, есть ли у вас phpMyAdmin: это довольно просто использовать), но сделать это можно из терминала (замените ваши собственные переменные сверху ):

$ mysql -h $host -u $user -p$password -D $db

обратите внимание, что между ключом -p и паролем нет пробела. Оттуда вы сможете запускать свой собственный SQL, но я бы весьма рекомендовал бы сделать резервную копию, прежде чем вносить какие-либо изменения вручную.

1 голос
/ 12 марта 2009

Joomla хранит статьи в базе данных MySQL. Если вы хотите читать / изменять / удалять статьи, вам придется использовать SQL-запросы.

Если вы решили сделать это с терминала, вы всегда можете запустить клиент mysql из командной строки и выполнить ваши запросы оттуда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...