1.9.9.7에서 2.0.6으로 업데이트한 후로 서드파티 모듈의 모바일 스킨이 반응형일 경우 템플릿을 불러오지 못하는 일들이 있는 것 같습니다(php는 7.0*).

(코어에 포함된 페이지 모듈에서도요ㅜ https://xetown.com/questions/1523955 참조)

 

photo6125436736868821920.jpg

위 이미지는 소셜XE의 경우 에러 메시지입니다.

 

그래서 socialxe.mobile.php를 다음과 같이 바꿔주니 잘 작동하게 되었습니다.

(레이아웃은 제가 따로 지정을 해놓은 게 없어서 어떤 상황일지는 잘 예측이 안 되네요. 암튼 스킨의 경우는 아래처럼 수정했습니다)

 

<?php
    require_once(_XE_PATH_ . 'modules/socialxe/socialxe.view.php');

    /**
     * @class  socialxeMobile
     * @author CONORY (https://xe.conory.com)
     * Mobile class of socialxe module
     */
    class socialxeMobile extends socialxeView
    {
        /**
         * @brief Initialization
         */
        function init()
        {
            $skin = $this->config->skin;
            $mskin = $this->config->mskin;
            if ( $mskin === '/USE_RESPONSIVE/' )
            {
                $template_path = sprintf('%sskins/%s/', $this->module_path, $skin);
                if ( !is_dir($template_path) || !$skin )
                {
                    $template_path = sprintf('%sskins/%s/',$this->module_path, 'default');
                }
            }
            else
            {
                Context::set('config', $this->config);
                $template_path = sprintf('%sm.skins/%s/', $this->module_path, $mskin);
                if ( !is_dir($template_path) || !$mskin )
                {
                    $template_path = sprintf('%sm.skins/%s/', $this->module_path, 'default');
                }
                Context::addJsFile($this->module_path . 'tpl/js/socialxe.js');
            }
 
            $this->setTemplatePath($template_path);

            // 사용자 모바일 레이아웃
            if($this->config->mlayout_srl && $layout_path = getModel('layout')->getLayout($this->config->mlayout_srl)->path)
            {
                $this->module_info->mlayout_srl = $this->config->mlayout_srl;

                $this->setLayoutPath($layout_path);
            }
        }
    }

 

덧. 그리고 출석부 모듈에서도 비슷한 문제가 있었던 것 같은데(저는 사용을 안 해봐서...) 이 경우에도 비슷한 방식으로 처리해서 정상화가 가능했습니다. 

https://xetown.com/questions/1519785#comment_1524337 참조

윤삼

profile
아무래도 중급 초반 수준의 코딩 오타쿠인 것 같습니다.
  • ?

    출석부 모듈은 아마 기본 스킨을 사용하시는 분들은 못 느끼실 수도 있어요. 저는 사용자 스킨을 사용하는데 'PC와 동일한 반응형 스킨' 으로 했을 경우 모바일에서 기본스킨으로 강제로 적용이 되어서 알게 됐습니다.

    아이템샵 같은 경우 약간 다른데 ''PC와 동일한 반응형 스킨' 을 선택하면 
    Refused to apply style from 'https://도메인./modules/itemshop/skins/USE_DEFAULT/css/default.css' because its MIME type ('text/plain') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
    이렇게 나옵니다. 

    2.0.6 이상 사용하면서 아이템샵 사용하고 'PC와 동일한 반응형 스킨'으로 지정하신 분들은 모바일에서  확인해 보실 필요가 있습니다.

    좋은 팁 감사드립니다 :-)  덕분에 해결하게 되었습니다!

    모듈 업데이트가 되었으면 좋겠네요 :)

  • ? profile
    그쪽은 css 불러오는 데 경로 인식이 잘 안됐었나보군요;;;
    암튼 말씀하신대로 반응형 스킨 쓰시는 분들은 모바일 확인일 필요한 듯합니다 :)
  • profile
    서드파티에서는 PC와 동일한 스킨을 사용하기 누르지 마시고 그냥 모바일페이지 사용여부를 미사용으로하고 레이아웃 스킨은 그대로 두시면 PC레이아웃과 스킨으로 연동될걸요.

    모바일 레이아웃이랑 스킨을 따로 쓰지 않는입장이라면 대부분은 반응형으로 사용하실텐데 그렇게 설정한번 해보세요...
  • profile ?

    모바일 뷰 미사용중에 발견한거에요... pc와 동일한 스킨 사용을 누르지 않으면 커스텀 스킨을 쓸 수가 없으니까 pc와 동일한 반응형 스킨을 선택했던 거구요..

  • ? profile

    ddddd.png

     

     

    위 설정이 아니요로 선택되어있는지 확인하셧나요?

     

    커스텀 스킨을 사용하지 못한다는 뜻이 어떤건가요?

     

     

  • profile ?

    레이아웃을 미사용으로 하란 말씀이시군요. 다시 읽고 이해했습니다.
    저는 윤삼님 팁을 적용해서 수정을 마친 상태라 지금 확인이 안되겠네요 ㅠ

  • ? profile
    아니요.
    님 사이트가 모바일 레이아웃을 안쓰고 모바일스킨도 안쓰지 않나요?
  • profile ?
    디폴트 스킨이 아닌경우를 말씀 드린거에요.
  • ? profile
    조건을 좀 PC와 모바일에서 레이아웃 과 모듈스킨의 설정을 출석부 기준으로 어떨때 필요한지 말씀좀 해주시겠어요?
  • profile profile
    고급 설정에서 모바일 뷰사용을 '아니오'로 하면 모듈 실행시 모듈명.mobile.php를 읽지 않는 건가요?
  • profile profile
    네 애초에 반응형 레이아웃 및 스킨을 사용하신다면 당연히 모바일PHP파일을 읽어들일 필요가 없죠.
  • profile ?
    넵. 반응형 쓰고 있어요. 전에는 시스템 설정에 모바일 뷰 사용 체크되어 있어도 정상으로 나왔던 것들이였으니
    이유를 알 수 없어 문의를 했던 것이구요.

    근데 한가지 궁금한건 상세설정에 있는 모바일 뷰 사용과 시스템 설정에 있는 모바일 뷰는 명칭이 같은데 서로 다른건가요?
  • profile profile
    1) 사이트 전역에서 모바일 뷰 사용을 아니오로 하는데
    2) 모듈이나 mid에 따라서는 모바일 뷰를 사용하고 싶을 때
    3) 그런데 레이아웃만 모바일 전용 스킨을 쓰고, 모듈 스킨은 반응형으로 사용하고 싶다면...
    이런 경우에는 결국 문제가 되는 거 아닌가요?
    (복잡해지니까 헷갈리네요ㅜ)
  • ? profile

    라이믹스 시스템설정에 있는것이 좀 더 강한 성격이라 생각하시면 될것 같고요.

    라이믹스 넘어오면서 그 의미가 쇠퇴한건지 저도 자세하게 깊게는 모르겟지만 우선은 시스템 설정의 설정을 우선 순위로 놓고 그 뒤에 모듈설정의 설정을 두번째 순위로 둘겁니다.

    모바일 레이아웃 쓰는페이지가 있음에도 따로 몇몇 페이지를 반응형이거나 그냥 문서를 통해서 보여줘야할때를 대비해서 각각의 설정을 남겨두는 방식인듯 합니다.

    (제사이트 출석부에서 모바일페이지가 사용중설정이지만 실제로는 해당 페이지가 작동안하거든요)

     

    그리고 출석부에 올려주신 이슈는 넘기도록 할께요. 해당 이슈를 적용해드리기엔 XE사용자 공용프로젝트이기에 위험성이 있습니다.

     

  • profile ?
    넵 ! 제 설치 환경은

    ink출석부 스킨사용
    오늘 말씀해주신 시스템 설정 : 모바일 뷰 사용, 태블릿 모바일 취급 전부 체크 되어 있었고
    모듈 > 상세설정에서 > 모바일 뷰 미사용 > pc와 동일한 반응형 스킨
    이렇게 했을때 모바일에서 기본 스킨이 적용되었습니다.
  • ? profile
    레이아웃은 잉크레이아웃인가요>?
  • profile ?
    네 잉크 사용중입니다
  • ? profile

    잉크 스킨을 사용하시면서 잉크 레이아웃도 사용하시는데 왜 "시스템 설정 : 모바일 뷰 사용, 태블릿 모바일 취급 전부 체크" 하시는지요?

    PC랑 모바일이랑 동일한 레이아웃 동일한 스킨으로 반응형으로 쓰신다면 해당 설정 전부 사용안하시는게 좋아요 :)

  • profile ?



    모바일 뷰는 처음 부터 체크 되어있었던거 같아요. 디폴트는 웬만하면 건드리지 않아서요.
    태블릿 모바일 취급은 체크하면 태블릿에서 모바일 화면으로 나오는 것으로 생각해서 체크했던게 기억납니다.

    그동안 문제가 없었기 때문에 체크를 해제할 생각도 못하고 있었던게 아닐까 합니다 ㅎㅎ;

    이제 알았으니 해제해야겠네요.

  • ? profile
    저도 그동안 문제가 없다가 업데이트 이후로...
    근데 시스템 설정에서 쉽게 통제가 되니까 살짝 허탈하기도 하고 그러네요ㅋㅋㅋ
  • profile ?
    그러게요 ㅎㅎ 좋은글 올려주셔서 감사합니다
    상세설정 모바일 뷰 해제가 시스템 설정에 의해 통제된다는 것을 모르고 계신 분들이에게 도움이 될 것입니다