문제

나는 내가 구축하는 한 관점에서 Drupal Paths에 문제가 있습니다. 지금 내 견해에는이 형식이 있습니다 : 내용/2/6.

2와 6이 두 노드의 ID 인 경우,이 ID를 조작하여 해당 노드의 제목이라고 가정 해 봅시다.

이 값을 패널로 보내기 때문에보기에서이를 수행 할 수 없으며 패널은 노드의 ID를 받아야합니다.

요약하면, 나는 단지이 ID를 제목으로 다시 쓰고 싶습니다. 이것에 대한 특정 모듈이 있습니까?

감사!

도움이 되었습니까?

해결책

내가 당신을 올바르게 이해한다면, 당신은 원래 경로의 컨텐츠/[nid_x]/[nid_y] '를 유지하지만 노드 (예 : 타이틀)에서 더 많은'말하기 '경로 요소를 가진 사람들에 대해 추가 URL 별칭을 추가하려고합니다. 그것이 올바른 경우 두 가지 옵션이 있습니다.

먼저 'content/[nid_x]/[nid_y]' 'admin/build/path/add'에 대한 URL 별칭을 정의하여 수동으로 수행 할 수 있습니다. 많은 별명이 필요하다면 이것은 쉽지 않지만 아마도 당신이 찾고있는 것이 아닐 수도 있습니다.

둘째, 당신은 path_set_alias() 기능. 기능을 사용하는 것은 매우 간단합니다. 유일한 문제는 그것을 트리거해야 할 곳 일 수 있습니다. 당신의 설명에서 그것은 그 견해가 어디에서 만들어 졌는지 나에게 명확하지 않기 때문에 제안을 내기가 어렵습니다. 아마도 질문을 좀 더 구체적으로 편집 할 수 있습니다.

특정 노드 조합에 대한 View URL 별칭을 만들려면 '삽입', '업데이트'및 '삭제'작업을 사용하려고 시도 할 수 있습니다. hook_nodeapi() 별칭 생성을 트리거합니다. 분명히, 이것은 코드에서 어떤 노드에서 별명을 생성하는지 여부를 결정할 수있는 일관된 규칙이있는 경우에만 작동합니다.

특정 경로에 대한 URL 별칭이 있으면 해당 경로에 대한 링크가 엘() 기능. 예를 들어 'Content/2/6'을 가리키는 메뉴 항목을 작성하면 사용한 URL이 자동으로 해당 경로에 대해 만든 별칭이됩니다.


편집 : 프로그래밍 방식으로 별명을 만들어내는 경우를 대비하여 - 어쨌든 Pathauto를 사용하면 사용해야합니다. pathauto_cleanstring()생성 된 URL이 허용 문자로 올바르게 탈출/재 작성되도록 함수 ( 'Pathauto.inc'에서).

다른 팁

사용자 정의 URL 기능을 사용하여 전용 사용자 정의 URL을 생성하는 방법이 있습니다. 패널을 사용하는 경우 패널을 사용하는 경우 매우 정적이기 때문에 이런 식으로하고 싶은지 확실하지 않습니다.

function custom_url_rewrite($op, $result, $path) {

  if ($op == 'alias') {
    if (preg_match('|^[node_id#_here](/{0,1}.*)|', $path, $matches)) {
      return '[desired_alias]'. $matches[1];
    }
  }

  if ($op == 'source') {
    if (preg_match('|^[node_id#](/{0,1}.*)|', $path, $matches)) {
      return '[desired_source]'. $matches[1];
    }
  }

  return $result;

}

노드 ID#을 자신의 원하는 별칭 및 소스로 대체하고 싶을 것입니다. 도움이 되었기를 바랍니다.

아마도 유용 할 것입니다 :

View를 사용하여 토큰 교체를 사용하여 링크를 빌드하여 시작 링크를 변경하십시오. <a href="nodeview/[title]/nid" title="[title]">link tekst</a> 그리고 경로 exa nodeview 및 arguments null, null, nid fi로 노드를 처리합니다.

더 복잡한 링크를 위해서는 문자열을 빌드하기위한 PHP 필드를 링크합니다 ..

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top