it-swarm-ko.tech

모듈을 사용하지 않고 URL 별칭 변경

모듈을 사용하지 않고 URL 별칭을 변경하는 방법이 있습니까? 누군가 데이터베이스 테이블에 레코드를 쓰라고했지만 어떻게해야하는지 모르겠습니다.

2
enjoylife

Drupal은 사용자 인터페이스를 사용하여 경로 별칭을 추가 (및 변경) 할 수 있습니다. 일반적으로 데이터베이스 테이블을 직접 변경할 이유가 없습니다. 특히 Drupal 코어 모듈이 관리 페이지를 통해 달성하려는 작업을 수행 할 수있는 경우에는 더욱 그렇습니다.

코드에서해야하는 경우 tim.plunkett에서 지적한대로 path_set_alias() function을 사용할 수 있습니다. 이와 달리 Drupal 사용자 인터페이스는 이러한 작업에 적합합니다.

path_set_alias()에서 기존 별칭을 업데이트하는 데 사용하는 쿼리는 다음과 유사합니다 (언어 필드에 대한 참조를 제거하여 쿼리를 단순화했습니다).

UPDATE {url_alias} SET src = '<alias>', dst = '<destination>' WHERE dst = '<old_destination>'

Drupal 사이트에서 테이블 접두사 (예 : dr6_)를 사용하는 경우 {url_alias}dr6_url_alias로 바꿔야합니다. Drupal 사이트에서 테이블 접두사를 사용하지 않는 경우 {url_alias}url_alias로 바꿉니다.
또한 내가 작성한 쿼리에서 <alias>를 경로 별칭으로, <destination>를 별칭 경로로, <old_destination>를 이전 경로로 바꿉니다. <destination>에 사용 된 것과 동일한 값이어야합니다.).

경로 별칭이없는 경우 쿼리는 다음과 같이됩니다.

INSERT INTO {url_alias} (src, dst) VALUES ('<alias>', '<destination>')

<alias><destination>는 이전에보고 한 것과 동일한 의미입니다.

2
kiamlaluno

사용 가능한 API가있는 경우 데이터베이스에 값을 직접 삽입하는 것은 좋지 않습니다. 찾고있는 함수는 path_set_alias () 입니다.

데이터베이스에 직접 행을 삽입해야하는 경우 테이블은 {url_alias}입니다.

1
tim.plunkett