Extra Form
PHP PHP 7.3
CMS Rhymix 2.x

안녕하세요?

애드온으로 구현되어 있는 하단 메뉴바를  레이아웃에 넣으려고 아래와 같이 입력했습니다.

<div class="nav_mobile">
<!--@if($header_menu->list)-->
<block loop="$header_menu->list=>$key,$val">
<div class="nav_mobile_item">
<a class="selected"|cond="$val['selected'] == 1" href="{$val['href']}">
<div class="nav_mobile_item_icon">
<i class="{$val['desc']}"></i>        
</div>
<div class="nav_mobile_item_name">
{$val['text']}    
</div>
</a>                        
</div>
</block>
<!--@endif-->    
</div>

 

다행히 생각한대로 잘 작동하는데 수정해야 할 부분이 있어 조언을 구합니다.

관리자메뉴 -> 레이아웃에서 설정한 메뉴값 ($header_menu->list) 대신에 하드 코딩으로 메뉴값을 직접 입력하려고 합니다.

 

제 생각엔

 

1. if 구문 제거하고,

2. $header_menu->list 대신에 뭔가 입력해주면 해결 될 것 같은데

 

메뉴값?을 어떻게 찾는지와 어떤 형식으로 입력해주어야 작동할지요.

 

  • profile
    레이아웃 설정에 연결된 $header_menu 의 메뉴가 아닌 새롭게 메뉴를 생성해서 그 메뉴를 레이아웃에서 출력하고 싶다는 건가요?? 질문이 좀더 구체적이어야 어떤 의도인지 무엇을 원하는지 파악이 될 것 같네요.
  • profile profile

    네 레이아웃 설정은 무시하고, 그냥 생성된 메뉴들 중 하나를 하드코딩으로 입력하여 출력하고 싶습니다.
    이렇게 하려는 이유는 다국어 대응하면서 언어 설정에 따라 다른 메뉴를 불러오려고 하는데
    레이아웃 설정하는 페이지까지 뜯어고치면 일이 좀 큰 것 같아서요. (자력으로 할수도 없고)

    $header_menu대신에 메뉴값?을 입력해주면 될 것 같아서요.

  • profile profile

    $header_menu 다른 메뉴값을 입력해 주면 될 것 같은 생각은 잘못하고 계신 것 같습니다.
    물론 다른 메뉴를 불러오는 방법이 있겠지만 단순히 메뉴번호를 넣어서 될 수준이 아닙니다.

    저라면 레이아웃 설정에 추가로 여분의 메뉴를 등록하도록 해서 활용하겠습니다.
    $header_menu 라고 하는 것도 어차피 레이아웃에서 연결하도록 만들어서 사용하실 수 있는 것 입니다.

    https://github.com/rhymix/rhymix/blob/master/layouts/default/conf/info.xml#L14
    https://github.com/rhymix/rhymix/blob/master/layouts/xedition/conf/info.xml#L17
    위와 같이 레이이웃을 연결해 줄수 있는 부분을 참조해서
    사용하시는 레이아웃의 $header_menu 부분을 찾아서 그부분을 똑같이 카피해서 다른 추가적인 변수로 만들어 주세요.

    그러면 아마도 레이아웃 설정에 추가한 부분이 생기고 거기서 새로 만든 메뉴를 연결할 수 있습니다.

    이후 새로 만든 $새로운메뉴연결 을 레이아웃에서 활용을 하시면 되겠죠.

    레이아웃에서 기본제공하는 메뉴연결을 추가해 주는 것입니다.

  • profile profile
    오.. 왠지 말씀하신대로 할 수 있을 것 같습니다! 감사합니다!
  • profile profile
    말씀하신 방법대로 해결하니까 더 쉽고 잘됩니다! 감사드립니다!
  • profile profile
    제가 계속 이야기해 드린 부분인데요. 위에 "자력으로 할수 없다." 라고 언급해주신 부분때문에...
    제가 라이믹스를 커스터마이징하고 하는 것을 학습하는 것은 스스로 해보는 것이 제일 빠르게 학습하는 것이라고 생각하고 있어요.

    카피캣이 되어서 이것 저것 스스로 하다보면 처음에는 이해하지 못하고 완성을 하게 되지만 이후 어느 시점에는 내가 카피해서 했던 코드들이 어떤 코드인지 이해가 가고 이해가 가는 코드들이 많아지면서 이후 새롭게 할 수 있는 것들이 점점 늘어나는 것 같습니다.

    물론 학습 순서가 거꾸로라 기초적인 부분의 이해 부족으로 어려움이 발생이 많이 되지만(이부분은 따로 언어 학습을 병행하면서 따라가야 할 것 같구요.)

    기능구현을 하거나 뭔가 하고 싶은데 그것이 다른 자료에서 이미 구현이 되었다면 다른 자료를 뜯어보고 자력으로 해보는 것이 비용을 들이지 않으면서 많은 것을 구현할 수 있다고 생각합니다. 이건 순전히 개인적인 경험담이긴 합니다만...

    굉장히 복잡한 함수가 연결 연결 되는 구조의 코드가 아니라면 사실 내가 차용하고 싶은 코드를 처음 읽었을때 이해가 가지 않아도 계속 반복해서 읽다보면 내가 이해가 가는 부분 그리고 납득이 가지 않는 부분이 가려지고 이해가 안가는 부분에 대해서 더 파보거나 하다보면 해답이 어딘가에서는 나오는게 많더군요.

    물론 도저히 안될 경우이 이곳에 질문을 하면 개발자분들이 답을 해주셔서 답을 찾게 되지만요...

    요즘 직접 기능 추가하고 수정하시는 것을 많이 하시는 것 같아 주제넘게 예전부터 해드렸던 이야기를 또 했습니다.
  • profile profile
    1. 레이아웃 메뉴 설정에 언어 설정에 따라 다른 메뉴를 각각 설정해두시고,
    2. 레이아웃 스킨에서 언어설정에 따라 1.에서 설정한 해당 메뉴를 불러오도록 하시는게 간편할 듯 합니다...

    info.xml 에서는
    $header_menu_ko
    $header_menu_en

    이렇게 각각 두개를 설정해두시고

    레이아웃 스킨에서는
    <!--@if(언어='영어')-->$header_menu_en<!--@else-->$header_menu_ko<!--@end-->
    이렇게만 하시면 될듯합니다.

    레이아웃 설정 페이지를 뜯어고치는게 훨씬 간단할 듯 싶습니다만
  • profile profile
    공감되는 좋은 조언 주셔서 감사합니다.

    제 역할은 처음에는 아이디어를 구상하고 구현은 외주에 맡겨왔는데.. 디자인을 개발자분들에게 맡기다보면 원했던 그림이 안나와서 구상 + 디자인까지 범위를 잡았다가

    예산은 점점 빠듯하고 의뢰도 아는 만큼 잘할 수 있다는 것을 깨달아서 지금은 구상과 디자인을 넘어 구현도 최대한 할 수 있는데 까지는 직접해서 외주 분량을 줄이는 것을 새로운 목표로 하고 있습니다. 그러다 보니 어디까지 자력으로 할 수 있을지 가늠하는 것도 중요한 요소가 되더군요.

    눈에 들어오는 부분은 확실히 늘어나고 있습니다. 예전엔 html 안에 템플릿 문법/php 함수/js 가 전혀 분간되지 않았는데 이제는 무슨 뜻인지 이해도는 떨어져도 구분자체는 됩니다. 때에 따라선 간단한 수정도 되구요^^;

    개발자 입장에서 보기엔 답답하고 어의없을 제 질문들에 참을성을 가지고 헌신적으로 답변주시는 웹지기님과 다른 분들 덕분에 지평이 조금씩 넓어지고 있습니다. :)
  • profile profile
    네^^ 그렇게 해결했습니다. 감사합니다~!
  • profile
    사이트맵 위젯을 쓰는 건?;;
  • profile profile
    ^^ 위에 웹지기님 제안대로 해결했습니다. 감사합니다!