문제
터미널에서 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 클라이언트를 시작하고 거기에서 쿼리를 실행할 수 있습니다.