2011-11-09 3 views
0

여러 가지 사용자 지정 콘텐츠 형식이 있는데 하나는 특정 필드에 두 개의 필드 (하나는 링크 용 href, 하나는 링크 용 텍스트 용)를 제공해야합니다. 최소한의 사용자 참여로 HTML/CSS를 제작하고 스타일을 지정하십시오. 이 콘텐츠 유형에 대한 사용자 지정 node.tpl도 있습니다. 내 문제는 그 drupal이 콘텐츠 형식 (node-custom.tpl)에 대한 내 템플릿 파일에없는 만들고 각 divs 주위의 링크 href 넣을 수없는 divs를 throw합니다. <a href="<div id="something">google.co.uk</div>"></a> 내 참조하십시오 문제. 어쩌면 나는이 모든 일을 잘못하고있어 다른 어떤 생각도 환영합니다.사용자 지정 콘텐츠 형식의 링크 필드 만들기

참고 사항이 사이트는 사용자의 HTML/CSS 액세스가 최소화되도록 만들려고합니다. 나는 필드에 링크 코드를 건네 줄 수 있다는 것을 알고있다.

답변

1

당신의 template.php 파일에 전처리 기능을 사용하여 수동으로 링크를 구축하는 것이 가장 쉬운 방법 :

function mytheme_preprocess_node(&$vars) { 
    $node = $vars['node']; 
    if ($node->type = 'my_type') { 
    $uri = $node->field_name_of_link_field[LANGUAGE_NONE][0]['value']; 
    $text = $node->field_name_of_display_text_field[LANGUAGE_NONE][0]['value']; 
    $vars['my_link'] = l($text, $uri); // Using Drupal's l() function to render a link 
    } 
} 

그런 다음 노드 템플릿 파일에 당신은에 액세스 할 수 있습니다 변수 $my_link 어디서나 출력 할 수 있으며 올바른 링크 HTML을 포함합니다. 마지막으로 콘텐츠 유형에 대한 '디스플레이 관리'페이지로 이동하여 더 이상 필요하지 않은 두 필드의 표시를 '숨김'으로 설정하십시오.

다른 방법이 있습니다 그건 그래서 만약 더 좋은 알려

편집

그냥 추가, 나는이 작업을 수행하는 가장 쉬운 방법은 실제로 Link module를 설치하고 제공을 사용하는 것입니다 생각 필드 유형 대신 현재 사용중인 다른 두 필드를 사용하십시오.

+0

대단히 감사합니다. 그것 모두는 꽤 곧장 앞으로 보인다. 그래서 그것은 내일 전에 그것을 준다. 명확히하기 위해 사이트의 여러 웹 페이지 오른쪽 하단에 그래픽 단추가 나타납니다. 링크의 내용도 변경됩니다. 이 방법을 사용하면 '컨텐츠 편집기'가 유지하기가 쉬울 것이라고 생각 했었습니다. 좋은 생각입니까 아니면 다른 경로를 선택하라고 조언 하시겠습니까? 건배 많이 감사합니다. – HomeBrew

+0

실제로 링크를 수락하는 노드에 연결할 수있는 필드 유형을 제공하는 [링크 모듈] (http://drupal.org/project/link)을 설치할 수 있습니다. 그건 당신이 가지고있는 문제를 해결하고 당신을 위해 링크를 검증하는 부가적인 혜택을줍니다 : – Clive

+0

굉장한, 건배. 어떤 드루팔 (drupal) 기능으로도 많은 것을 배우지 않았으므로 배우기 위해 첫 번째 제안을 시도해 볼 수 있습니다. 대부분 링크가 모듈을 사용하여 아파 결국. Muchos Gracias! – HomeBrew

관련 문제