Редактировать выпуск статей Joomla в терминале

StackOverflow https://stackoverflow.com/questions/636684

  •  10-07-2019
  •  | 
  •  

Вопрос

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

Проблема: чтобы узнать местоположение, в котором Joomla хранит свои статьи

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

locate Masi | xargs -0 grep great
Это было полезно?

Решение

Статьи хранятся в базе данных в виде таблицы под названием 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, но я бы весьма рекомендуется создать резервную копию, прежде чем вносить какие-либо изменения вручную.

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top