묻고답하기
if 문에서 확장변수가 포함되었는지 검사할때
2013.01.27 03:48
확장변수 1번에 다중 선택으로 2,4,6이 선택이 되어있으면,
if($item->getExtraVar1()=='2') 라고 하면 조건문이 잘 반응하나요?
게시글에 특정확장변수가 포함되어있을때 그 글만 위젯에 노출시키고 싶은데.... 그런 위젯은 아무리 찾아봐도 없고, 질문해도 답은 없고 해서... 여쭤봅니다.
다시 말해
1. 확장변수1에 다중선택 버튼지정으로 1,2,3,4,5,6 중에 아무거나 고르게 하고,
2. 어떤 게시글의 확장변수1에 2,4,6이 선택되어 있으면
3. 위젯에서 <!--@if($item->getExtraVar1()=='2')--> 를 조건으로 걸어도 true로 반환되어 그다음 <!--@else-->전까지의 태그가 돌아가는가.
하는 겁니다.
3번이 틀렸으면, 2가 선택되어진 글들을 뽑으려면 어떻게 해야할까요?
아무것도 모르는 쌩초보가 xe 문법 배워가면서 만드려고 합니다..
댓글 5
-
송동우
2013.01.27 04:27
-
_writer
2013.01.27 15:09
감사합니다.
컨텐츠 출력 위젯에
<--@if($item->gerExtraEidValue("확장변수명")==somethinng)-->
를 이용해 조건을 뽑으려면 윚ㅅ의 어느부분에 넣는것이 좋나요? -
_writer
2013.01.27 17:40
몇번 어쭈어봤는데 답이 전혀 없어서 잡는 방법이라도 알아보려고 하는겁니다.
원하는 위젯은 어떤 글에 등록된 여러 확장 변수중 특정확장 변수를 가진 글을 뽑아와 위젯에 그 글을 출력하는걸 원합니다. -
송동우
2013.01.27 17:24
{$item->getExtraEidValue("확장변수명")}
이것은 기존에 있던 것이 아니라 새롭게 추가를 하는 것이기 때문에
item 루프 내에 아무곳에나 원하는 곳에 넣으면 됩니다.....
물론 답변의 링크된 곳에서 설명한 대로 클래스 내에 추가를 먼저 해야 하는 전제조건에서 작동합니다......
이해가 안되거나 원하는 결과를 얻지 못하겠다면
그냥 결과를 어떻게 출력시키고 싶은지만 글을 올리면
복사해서 붙여넣고 사용할 수 있는 코드가 답변으로 올라올 것입니다.....
지금 질문은 물고기를 달라는 것이 아니라 물고기 잡는 방법을 묻는 것에 가까운 것 같아서
어떤 물고기를 원하는 지 잘 모르겠습니다.......
-
_writer
2013.01.27 17:40
몇번 어쭈어봤는데 답이 전혀 없어서 잡는 방법이라도 알아보려고 하는겁니다. 원하는 위젯은 어떤 글에 등록된 여러 확장 변수중 특정확장 변수를 가진 글을 뽑아와 위젯에 그 글을 출력하는걸 원합니다. -
송동우
2013.01.27 18:11
그 문제는 쿼리 자체를 바꿔야 된다고 생각합니다.
기존의 위젯은 확장변수와는 상관없이 게시글만 불러오기 때문에
그것을 가지고 작업하는 것은 옳바른 선택(작업)이 아니라고 생각됩니다.....
예를 하나 들어서
xe - widgets - content - queries - getNewestDocuments.xml
여기 내용을
<query id="getNewestDocuments" action="select">
<tables>
<table name="documents" alias="doc" />
<table name="document_extra_vars" alias="ext" />
</tables>
<columns>
<column name="*" />
</columns>
<conditions>
<condition operation="equal" column="doc.document_srl" default="ext.document_srl" />
<condition operation="equal" column="doc.module_srl" default="게시판모듈번호" pipe="and" />
<condition operation="equal" column="ext.eid" default="확장변수명" pipe="and" />
<condition operation="like" column="ext.value" default="%검색할확장변수값%" pipe="and" />
</conditions>
<navigation>
<index var="sort_index" default="list_order" order="sort_order" />
<list_count var="list_count" default="20" />
<page_count var="page_count" default="10" />
<page var="page" default="1" />
</navigation>
</query>이것으로 수정하고 테스트 해보세요
원하는 결과를 얻을 겁니다....
물론 이건 답변을 위해 샘플로 작성된 것이니
위젯에 원하는 대로 출력되게 하려면
class 파일에서 사용자가 선택한 값이 넘겨지도록 수정해야하고
xml 파일에서도 var 를 추가해서 그 값을 받아와야 합니다.
당연히 스킨에서도 필요하다면 수정을 해야 하구요........
샘플 눈으로 보기.......
아래 내용은 확장변수에 test 라는 단어만 불러와서 위젯에 출력한 겁니다......
위젯에 게시판 확장변수를 출력하려면
http://www.xpressengine.com/qna/20910241
여기 참고해 보시고
조건절은 링크의 답변에 있는,
확장변수가 출력되도록 수정한 후 (링크참고),
출력코드 {$item->getExtraEidValue("확장변수명")} 이것을 이용해 보세요.....