it-swarm-ko.tech

Drupal 7 URL 별칭의 상황 별 필터

다음에있는 기사 목록을 보여주는보기가 있습니다.

mypage.com/articles

각 기사는 다음과 같이 기본 하위 페이지보기에 연결됩니다.

mypage.com/articles/name-of-my-artile-yay

URL 경로는 자동 경로 및 URL 별명으로 작성됩니다.

보기에서 선택한 하위 페이지보기 만 표시하도록 상황 별 필터를 작성하는 방법

뷰에서 내 경로로 이것을 가지고 있습니다.

조항/%

그러나 여기서 어디로 가야할지 모르겠다. 제목을 시도하고 소문자를 만들고 공백을 하이픈으로 바꾸었지만 항상 작동하지는 않으며 URL 별칭이 URL을 변경하여 다음과 같은 단어를 제거합니다.

a, an, as, at, before, but by

페이지 제목이 다음과 같은 경우 :

이것은 내 페이지 제목입니다-이것으로

URL 별칭은 다음과 같습니다.

내 페이지 제목

따라서 페이지 제목을 사용하여 상황 별 필터에서 일치시킬 수 없습니다.

내가 무엇을 놓치고 있습니까?

7
cybercampbell

가장 간단한 방법은 패널을 사용하고 Node 페이지. .

  1. (설치 페이지 관리자)
  2. 활성화 노드 뷰 페이지 (노드/% 노드)
  3. 변형을 추가하고 관련 노드 유형을 선택하여 유효성 검사 기준을 설정하십시오.
  4. 간단한 1 열 디스플레이 사용
  5. 열에보기를 추가하십시오
  6. 인수를 요청합니다 노드 보내기 : nid (또는 entity_id 등)Send your node's nid to your view
  7. 귀하의 관점에서 se node : nid 문맥 필터Your view arg

모든 것이 끝났습니다.

8
Gregory Kapustin

컨텐츠 유형의 경로 별명을 articles/[node:title]와 같이 설정하십시오.

옵션 1 : 뷰를 사용하여 상세 페이지 실행

보기에서 :

  1. 경로가 /articles/%로 설정된 Page보기를 작성하십시오.
  2. 상황 별 필터 를 추가하고 내용 : Nid 를 다음과 같이 설정하십시오.

    • 필터 값이 URL에없는 경우 => 기본값 제공
    • Type => URL의 원시 값
    • Path => 구성 요소 1 ( "경로 별명 사용"점검)

마지막 URL 세그먼트 ( "my-article-title-path-alias"와 같은)에서 경로를 조회하고 올바른 노드 ID를 반환합니다.

옵션 2 : 상세 페이지를 실행하기 위해보기를 무시 함

경로를 /articles/%로 설정하는 대신 간단히 /articles로 설정하고 별칭이 지정된 모든 /articles/% 노드가 정상적으로 해결되도록하십시오.

3
Kara

노드 ID에 대한 컨텍스트 필터를 추가하고 PHP를 사용하여 기본값을 제공하십시오.

if (isset($this->view['args'][0])) {
  $path = db_query("SELECT source FROM {url_alias} WHERE alias = :alias LIMIT 1", array(':alias' => 'article/' . $this->view['args'][0]))->fetchColumn();
  if ($path) {
    $parts = explode("/", $path);
    if (isset($parts[1]) && is_numeric($parts[1])) {
      return $parts[1];
    }
  }
}

return FALSE;

예를 들어 노드 123의 제목이 My the Page and Title 인 경우 node/123에서보기에 액세스 한 경우 example.com/the_view/my-page-title가 반환됩니다.

1
Charlie Schliesser
**Contextual filters**

1) 글로벌 : Null 2) (문서) 내용/노드 : nid 필터 값을 사용할 수없는 경우 기본값 제공 : URL의 원시 값

0
Somik

이 접근법을 시도하십시오 ...

먼저 일반 drupal 경로 "node/nid"를 잡고 전체로드를로드 한 다음 노드 제목을 컨텍스트 필터로 사용하십시오.

1) 현재보고있는 노드의 정상적인 경로를 얻으십시오 ...

<?php
$ogpath = drupal_lookup_path("source",$_GET['q']);

2) 이것은 비쌀 수 있지만 시도해보십시오 ... 현재 nid를 얻으십시오

$ogarray = explode('/', $ogpath);
$node = node_load($ogarry[1]);
return $node->title;

작동하는지 알려주세요.

Pathauto가 아직 오지 않은 방식으로 단어를 제거하고 있습니다. 올바르게 구성되어 있습니까?

0
Chiko