Extra Form
PHP PHP 7.0
CMS XpressEngine

안녕하세요 xe처음사용해보는 초보입니다

아무리 검색을하고 찾아봐도

제가 원하는 답을 못구해서 다시한번 질문드립니다

레벨아이콘 말고 그룹 마크? 아이콘? 을 출력하고싶은데요

 

쉽게말해 일반 빈 페이지 하나에 현재 접속한사람 이름 아이디 다 필요없고 딱 그 접속자의 해당하는 그룹 아이콘만

출력하고싶은데요

 

뭐 예로들자면 php 파일에

 

<?php

$mbgroupicon = "<img src='........'>";

echo $mbgroupicon;

?>

 

뭐 이런식으로 딱 원하는 장소에 하드코딩으로 표현할수 있는 방법은 없는걸까요?

 

레이아웃 애드온 모듈 위젯 등등 하나하나 알아가는중인데 도저히 모르겠습니다 ㅠ

  • profile
    그런 개념이 존재하지 않습니다.

    템플릿이라고 불리는 HTML 자체도 따로 완벽히 분리된 공간에서 동작합니다.

    예를들어 우리가 레이아웃을 만들게되면 /xe/layouts/layoutname/layout.html 파일을 통해서 수정하게 되는데 이 파일을 수정하게되면

    files/cache/궁시렁궁시렁 어쩌구저쩌구/layout.html.php

    파일으로써 변환시켜주는 개념입니다.

    이렇게 변환된 PHP파일을 통해서 웹페이지를 확인할 수 있는 구조이랍니다.
  • profile ?
    아 그렇군요 좋은 답변 감사합니다
    이제 조금 이해했네요 좀더 공부하도록 하겠습니다
  • profile
    빈페이지가 무엇인지 모르겠으나 XE에서ㅏ 처리하신 위젯페이지 같은 개념이라면 위젯을 구현해야하고 외부 PHP파일이라면 외부에서 XE함수를 사용할 수 있는 방법이 있는지 이런것 등을 검사해서 잘 처리하셔야 합니다.
  • profile

    그룹아이콘 출력하는 기능은 member_extra_info 애드온 안에 어딘가에 있을 거예요. 그 코드를 복붙해서 쓰시는 것은 자유이지만, 애드온이나 스킨 등 "내부 페이지"가 아니라 따로 작성한 "외부 페이지"에서 호출하려면 XE에서 사용하는 함수와 클래스들을 모두 인클루드해야 하니 꽤나 복잡해질 거예요.

     

    하드코딩이라는 개념이 없다기보다는, 웬만하면 "외부 페이지"를 따로 만들어 쓰기 어렵도록 막아놨다고 보시면 됩니다. 사이트 여기저기에 직접 호출할 수 있는 php 파일이 굴러다니면 안된다는 얘기죠... 처음에 뭔가를 구현하기는 어려운 것이 사실이지만, 제대로 구현해 놓으면 두고두고 관리하기도 쉽고 보안상 문제가 발생할 가능성도 낮습니다.

  • profile ?
    좋은 답변 감사합니다
  • profile
    하드코딩이란 어디에서든 존재합니다.
    예를 들어 배포용으로 XE용 프로그램을 만들면서 변수를 쓰지 않고 자신의 사이트에서나 사용가능한 특정한 일련번호를 넣고 코딩하는 경우입니다.

    사이트를 유지관리하다보면 배포용이 아니고 내 사이트에서만 쓰려고 회원을 특정할때 설정을 만들지 않고 코드에 직접 회원번호를 넣는 경우가 흔하게 있습니다.

    생각하시는 하드코딩은 스킨,php 등 어디에서나 가능합니다.

    XE는 코어,애드온,모듈,위젯 등에서 php와 템플릿을 아주 많이 사용합니다. 운영자가 사이트에 기능 넣거나 꾸미거나 수정하다보면 하드코딩이 아주 넘쳐납니다.

    단, 코어를 건드리면 곤란해지기 때문에 대부분 하드코딩으로 처리해 버리는 건 코어가 아닌 업데이트가 필요없는 곳에서 합니다.
  • profile ?
    좋은 답변 감사합니다