2013-10-25 3 views
3

"Learning Joomla! 3 Extension Development, Third Edition"을 샀습니다. 이 책은 최고! Joomla!의 초보자로서! 개발, 그것은 새로운 구성 요소를 구축하는 나의 첫 직업에 많은 도움이됩니다.filter_fields on Joomla 3 Model

public function __construct($config = array()) 
{ 
    if (empty($config['filter_fields'])) 
    { 
     $config['filter_fields'] = array(
      'id', 'a.id', 
      'title', 'a.title', 
      'state', 'a.state', 
      'company', 'a.company', 
      'image', 'a.image', 
      'url', 'a.url', 
      'phone', 'a.phone', 
      'description', 'a.description', 
      'ordering', 'a.ordering', 'a.catid' 
     ); 
    } 

parent::__construct($config); 
} 

'ID'와 'a.id', '제목'과 'a.title', '전화'와 '사이의 관계는 무엇입니까 : 그러나, 나는 여전히 모델의 구조 기능에 대해 이해하지 못하는 전화 왔어? 윌 joomla! 자동으로 데이터베이스 테이블 또는 무엇에서 값을 할당? '전화 번호'를 '전화 번호'로 변경하면 데이터를 검색 할 수 없습니다. 전에 감사드립니다.

답변

0

에서 귀하의 질문에 대한 몇 가지 추가 정보를 찾을 수 있습니다. 예제에서 b.phone을 사용하면 다양한 쿼리가 수행 될 때 "전화"로 표시가 계속됩니다.

"전화"라는 이름을 사용하려면 데이터베이스 테이블의 실제 이름을 "전화"로 변경해야합니다. 그러면 새 필터 필드가 전화가됩니다. b.telephone.

나는이 책이 훌륭하다는 데 동의합니다.

1

나는 또한 이것으로 혼란 스러웠습니다. answer here (quoted below)을 찾았습니다. 분명히 허용되는 필드 이름의 흰색 목록 일뿐입니다.

이 설정의 값은 쿼리에서 사용하도록 허용 된 필드 이름의 단순한 목록 일뿐입니다. 표준 필드 이름이 꽤 많이 있음을 알 수 있습니다. 또한이 모델을 사용하는 다른 사용자가 쿼리를 사용하려는 경우에 대비해 쿼리 관련 특정 이름의 변형을 추가했습니다. 그게 전부입니다. 목록 제목 중 하나를 클릭하면 요청의 목록에 대한 순서 열을 설정합니다. 우리는 모델의 populateState 메소드가 요청에서이 값을 선택할 것이고, 요청할 때이 값을이 화이트리스트와 대조하여 확인합니다. 요구 된 주문 열이 화이트리스트에 없으면, 이는 안전하게 안전하게 기본 주문으로 돌아 간다.