php
  • loops
  • joomla
  • 2017-01-11 1 views 0 likes 
    0

    의 joomla 문서 루프 플러그인에서 사용자 정의 필드 추가 joomla 쿼리 안에 이러한 사용자 정의 필드를 표시하십시오.이 자습서에 설명 된 것처럼 내의 joomla com_content 기사 3 개 사용자 정의 필드를 생성

    기사에 대한 템플릿 파일 재정의 내부 내 실제 Joomla를 쿼리 :

     <?php 
          $catId = 43; 
          $query = "SELECT * FROM #__content WHERE catid ='" . $catId . "'"; 
          $db = JFactory::getDBO(); 
          $db->setQuery($query); 
          $articles = $db->loadObjectList(); 
          foreach($articles as $article){ 
           echo 'ID: ' . $article->id; 
           echo '<br />'; 
           echo 'Name: ' . $article->title; 
           echo '<br />'; 
           echo '<a href="' . JRoute::_('index.php?option=com_content&view=article&id='.$article->id) . '">Link</a>'; 
           echo '<br /><br />'; 
          } 
         ?> 
    

    사용자 정의 필드와 문서 출력에 추가 할 수 있습니다

    $this->params->get('custom_field_1'); 
    

    그러나 이것은 루프 내부에서 작동하지 않습니다. 이 루프에 custom_field_1이라는 이름의 사용자 정의 필드를 어떻게 추가 할 수 있습니까?

    +0

    내 코드 아래에 시도 할 수 있습니다? onContentPrepare 메서드를 사용합니까? – Yoleth

    +0

    이 루프를 특정 사이트 서식 파일에 추가해야합니다. 나는 네가 무엇을 의미하는지 정확히 알지 못한다. 예제와 연결시켜 줄 수 있습니까? – Peesen87

    답변

    0

    당신은 양식 필드를 추가하는 데 사용한 것과 동일한, 콘텐츠 플러그의 방법 onContentPrepare를 사용해야합니다

    public function onContentPrepare($context, &$row, $params, $page = 0){ 
    
        if (JFactory::getApplication()->getTemplate() !== 'your_template_name'){ 
         return; 
        } 
    
        $catId = 43; 
        $query = "SELECT * FROM #__content WHERE catid ='" . $catId . "'"; 
        $db = JFactory::getDBO(); 
        $db->setQuery($query); 
        $row->articles = $db->loadObjectList(); 
    
    } 
    

    지금 당신의 품목에 당신은 모든 카테고리의 기사 목록 필드의 기사를 가지고 43.

    보기에서 $ this-> item-> articles을 사용하여이 목록을 검색 할 수 있습니다.

    0

    당신은 왜이 같은 플러그인 내부에이 쿼리를하지 않는 루프 인

    <?php 
    $attribs = json_decode($article->attribs); 
    echo $attribs->custom_field_1; 
    ?> 
    

     관련 문제

    • 관련 문제 없음^_^