Extra Form
PHP PHP 5.6
CMS XpressEngine

링크 파싱애드온에서 유튜브 영상 링크를 본문에 추가 할 경우 영상 출력 윗부분에 아래와 같이 썸네일 영상을 출력하는것을 보이지 않게끔 ( style="display: none;" ) 개발자님이 처리를 해 둔 부분입니다.

 

저는 관리자인 경우만 아래 표시된 부분, 유튜브 썸네일을 본문에 표시하려고 하려고 조건문을 걸려고 합니다.


[ ap_parser.js ]

 

function getYoutube(i) {
    ---- 중략
        var yt_cnt = $('#'+prefix+cnt+i),
            yt_load = $('#'+prefix+load+i);
            var _yt_frame = '<img id="'+yt_id+'" src="https://i.ytimg.com/vi/'+yt_id+'/mqdefault.jpg" style="display: none;">';

_yt_frame += '<iframe allowfullscreen="" frameborder="0" src="https://www.youtube.com/embed/.......

....

 

위에 표시된 부분, 유튜브 썸네일을 관리자와 일반회원 모두에게 보이지 않게끔 표시한 것( Style="display: none; )을 관리자일 경우만 썸네일을 표시하고 싶습니다.

 

var _yt_frame = '<img id="'+yt_id+'" src="https://i.ytimg.com/vi/'+yt_id+'/mqdefault.jpg" style="display: none;">';

 

->

 

<!--@if($logged_info->is_admin=="Y")--><img id="'+yt_id+'" src="https://i.ytimg.com/vi/'+yt_id+'/mqdefault.jpg" "><!--@end--> ';

 

 

 

또는

var _yt_frame = '<img id="'+yt_id+'" src="https://i.ytimg.com/vi/'+yt_id+'/mqdefault.jpg" style="display: none;">';

 

var _yt_frame = '<img id="'+yt_id+'" src="https://i.ytimg.com/vi/'+yt_id+'/mqdefault.jpg" style="display: none;" cond="$logged_info->is_admin=="N">

 

등과 같이 시도를 해봤는데 해결이 안되네요. 혹시 자바스크립트에서 조건문을 쓰는 방법이 다른가요?

  • profile
    섬네일이라고만 이야기하셔서 조금 혼돈이 있을 수 있는데 흐름상 섬네일을 생성하기 위한 가려놓은 이미지 라고 이해하겠습니다.

    저라면
    최고관리자로 조건을 걸러서
    <style>
    가려놓은 이미지 태그의 경로{display:block;}
    </style>

    이렇게 처리해 보게습니다.

    display:block !important; 여야 할 수도 있습니다.

    해당 애드온에서 이미지를 만들때 특정 엘리먼트 단위로 만들어 주기 때문에 해당 이미지에만 적용 가능하리라 봅니다.
  • profile
    사이트 방문해서 확인해 보니
    .ap_parser_content img 로 하면 될 것 같긴 합니다.
  • profile ?
    답변감사합니다. 질문이 정리가 잘 안된것 같아서 보충 올립니다.

    1. 아래 자바스크립트 부분에서 style="display: none; 을 제거하면

    var _yt_frame = '<img id="'+yt_id+'" src="https://i.ytimg.com/vi/'+yt_id+'/mqdefault.jpg" style="display: none;">';

    [본문 예시 : https://martmonster.com/recipe/388592 ]
    동영상 주소 url
    동영상 주소에서 가져온 대표 이미지 노출
    동영상 플레이어 노출

    이런식으로 되는데 전 동영상 주소에서 가져온 대표 이미지 노출되는 부분을 관리자만 보이게끔 하고 싶은데

    var _yt_frame = '<img id="'+yt_id+'" src="https://i.ytimg.com/vi/'+yt_id+'/mqdefault.jpg" style="display: none;">';

    이 부분에서 일반회원일 경우 style="display: none; 이 작동해서 이미지가 보이질 않고 관리자일 경우는 style="display: none; 이 작동하지 않아서 이미지가 보이게끔 하고 싶습니다.

    2. 전 자바스크립트에서 조건을 걸려고 시도 했는데요. 답변주신 부분은 스킨( index.html / css) 에서 조정을 해보라는 말씀이신거죠?
  • ? profile
    자바스크립트에서 조건이 걸리는지는 저는 모르겠습니다.
    글 읽는 페이지에 최고관리자 조건을 걸어서 위 style이 적용되도록 해 보라고 권해 드리는 겁니다.
  • profile ?
    네 말슴 해주시는 방법도 한번 시도 해보겠습니다.
  • ? ?
    js파일에서는 xe cond같은 조건문이 걸리지 않습니다.
    위에분 말씀처럼 글읽기 화면 html파일에 css스타일 조건문을 넣으시면 됩니다.

    <style cond="$logged_info->is_admin=='Y'">
    .ap_parser_content img { display: block; }
    </style>
  • ? ?
    답변감사합니다.
  • profile ?
    게시판 읽기화면 html 상단에 아래와 같은 문구로 위치하는게 맞죠?
    <style cond="$logged_info->is_admin=='Y'">
    .ap_parser_content img { display: block !important; }
    </style>
  • ? profile
    네. 템플릿에 직접 넣으셔야 합니다. 스킨 설정의 상단입력란 같은 곳에 넣으시면 안되구요.
  • profile ?

    1.jpg

    게시판 글읽기 화면상단에서 위와 같이 처리를 했는데 해결이 잘 안되네요. ^^;;

  • ? profile
    스크립트 자체를 원래대로 돌리셔야 할텐데요? 안된다는게 뭐가 안된다는건지 잘 모르겠습니다. 현재 이미지가 일반인에게도 보이게 display:none 부분이 제거된거 같은데요?
  • profile ?
    아 말씀 해 주신 부분을 빠트렸습니다. 감사합니다.