Extra Form
PHP PHP 8.0
CMS Rhymix 2.x

안녕하세요.

 

해당 게시판 기본 섬네일을

<div class="pin-img-overlay lv-img-shadow" style="background-image: url('modules/board/skins/lv_board/img/dt.svg');" cond="!$document->thumbnailExists()"></div>

 

코드를 이용하여 dt.svg로 적용하는것을 했는데요,(주황색 말풍선두개)

 

만약 게시글에 Tweet update 가 있으면 dt_twitter.svg 로 적용을 시키는 등 sns별로 나누고 싶어서요.

 

이 경우 게시글의 타이틀을 가져와서 조건을 검사해서 해야될거같은데,

 

아무래도 코딩 초보이다보니 이래저래 해도 잘 안되고 검색을 해도 영 나오는게 없네요..

 

혹시 힌트나 방법을 알려주시면 정말 감사합니다! 

  • profile
    사용하시는 레이아웃의 layout.html 에 특정한 조건이 이루어지는 상황마다 meta태그를 추가해둔다면 해당 메타태그별로 바뀐 메타태그로 이미지가 들어갈 수 있긴합니다.

    다만, SEO모듈이나 코어측에서 먼저 처리하는 이미지가 우선 순위이다보니 특정 메타태그를 추가한것이 만약 우선순위에서 밀려난다면 해당 부분이 적용되지 않을 가능성도 있겠지요

    한번 시도는 해보셔요.

    해당 특정 조건들은 보통 레이아웃에서 $act 라는 변수를 가지고 변경점을 검사하면 되는데 각각 링크마다 주소창에 붙는 act=~~~~ 값들을 서로 비교해서 메타태그를 각각 다르게 추가하면 되겠습니다.

    <!--@if(~~~~)-->
    메타태그1
    else if ~~~~
    메타태그2
    else
    기본 메타태그1
    end

    형태로는 이런식으로요 (그냥 대충 예시로 보여드린거라 실사용시에는 그대로 복붙하지말고 주석형 if문 재대로 쓰시길 ..)
  • profile profile
    좋은 답변 감사합니다. 그러면 혹시 게시글의 제목을 얻어오는건 어떻게해야할까요...? 너무 초보라서 죄송합니다.
  • profile profile
    저는 이미 타이틀에 특정 문구가 포함된 것을 기준으로 섬네일을 출력하지 않는 것을 하고 있는데요.

    strip_tags($document->getTitle()) !='매칭할 정확한 문자'

    위와 같은 확인으로 게시글 제목(목록에서)으로 if, cond 구문에서 활용할 수 있습니다.

    애당 값의 반환값으로 분기하여 처리하면 됩니다.
  • profile profile
    감사합니다 한번 해보겠습니다 ~~!!
  • profile profile

    아... 제가 잘못 알려드렸습니다. 위 케이스는 제목이 정확히 정해진 경우에 해당되는 것으로 지금 원하시는 케이스는 단어가 포함된 것으로 찾아야 하는 상황이므로 다시 알려드릴게요.

  • profile profile
    strpos(strip_tags($document->getTitle()), '포함 확인할 문자열') !== false

    이렇게 strops() 함수를 쓰시면 될 것 같습니다.
  • profile profile
    친절한 웹지기님. 실력도 있으신데 친절하시기까지!!!
  • profile profile
    웹지기님 정말 감사합니다. 이부분 혼자 해보다가 너무안되어서 포기하려다가 해당방법으로 진행하여 손쉽게 해결했습니다.

    정말 감사합니다 !!!!ㅠㅠㅠ
  • profile
    해당내용
    <!--기본섬네일-->
    <div class="pin-img-overlay lv-img-shadow" style="background-image: url('modules/board/skins/lv_board/img/type_only.png');" cond="!$document->thumbnailExists()&&strpos(strip_tags($document->getTitle()), 'Tweet update') == false"></div>
    <div class="pin-img-overlay lv-img-shadow" style="background-image: url('modules/board/skins/lv_board/img/tweet_update.png');" cond="strpos(strip_tags($document->getTitle()), 'Tweet update') !== false"></div>
    <!--기본섬네일끝-->

    위 코드로 해결했습니다..!