2009-07-24 3 views
1

joomla 모듈의 HTML 구조를 수정해야합니다. 콘텐츠 아래에 제목을 표시해야하는 맞춤 모듈을 만들고 싶습니다. Joomla 사용자 정의 모듈의 HTML 구조 수정

<div class="module_clipon"> 
    <p>This is the content</p> 
    <h3>This is the title</h3> 
</div> 

는 기본적으로 모듈의 콘텐츠 아래의 제목을 가지고 : 나는처럼 위의 HTML이 필요

<div class="module_clipon"> 
<div> 
    <div> 
    <div> 
     <h3>Right Module</h3> 
     <p>This is the content</p>     
    </div> 
    </div> 
</div> 
</div> 

: 이것은 (반올림) 기본 형식은 본 HTML입니다. Joomla에서 모듈의 HTML을 조작하는 방법은 무엇입니까? modChrome을 사용하면 가능하다고 생각합니다. 누구나 솔루션을 구현하는 것이 간단하다면 도움을 받으십시오.

답변

1

실제로 맞춤 모듈 크롬을 통해이 문제를 처리하고 싶습니다. 템플릿 폴더 내에 html 폴더가없는 경우 폴더를 만듭니다. 이 폴더에서 modules.php 파일을 만듭니다. 그런 다음이 코드로 채우기 :

<?php 

defined('_JEXEC') or die; 

function modChrome_titleonbottom($module, &$params, &$attribs) 
{ 
    echo '<p>' . $module->content . '</p>'; 
    echo '<h3>' . $module->title . '</h3>'; 
} 

마지막으로, 모듈 위치로이 크롬을 적용 다시 템플릿로 이동

<div class="module_clipon"> 
    <jdoc:include type="modules" name="left" style="titleonbottom"/> 
</div> 

사용 어떤 모듈 위치 이름 당신은 name 매개 변수에 필요합니다. style 매개 변수는 modChrome_ 함수 이름과 일치합니다. 더 많은 정보를 들어

: Cruising2hell @http://docs.joomla.org/What_is_module_chrome%3F http://docs.joomla.org/Applying_custom_module_chrome

+0

감사합니다 jlleblanc, 귀하의 답변을 유용합니다. 하지만 위와 아래에 기본 둥근 레이아웃 (4 divs wrapping)을 사용하여 동일한 모듈 위치에 다른 모듈을 배치해야합니다.어떤 일이 일어날 지 추측 할 수 있습니까? – Cruising2hell

2

당신이 모듈 접미사 PARAMS를 사용하여 시도했다 같은 위치에 다른 모듈 레이아웃을 갖고 싶어? 그렇게 ..

<?php 

defined('_JEXEC') or die; 

function modChrome_titleonbottom($module, &$params, &$attribs) 
{ 
    switch($params->get('moduleclass_sfx')) : 
    //My type of module 
    case 'titleonbottom': 
     echo '<p>'. $module->content . '</p>'; 
     echo '<h3>' . $module->title . '</h3>'; 
    break; 
    default: 
    //Normal 
     echo '<h3>' . $module->title . '</h3>'; 
     echo '<p>'. $module->content . '</p>'; 
    break; 
    endswitch; 

} 
+0

대단히 고마워요. 내가 필요한 것을 해결합니다. 다른 쿼리가 있지만 기사 구성 요소에 대해 비슷한 솔루션을 사용할 수 있습니까? 기사마다 다른 HTML 레이아웃을 사용하여 Joomla에서 '포트폴리오'종류의 페이지를 구현하여 프로젝트를 표시하고 한 페이지에 일반 기사를 게시 할 수 있습니다. 나는 확실하지 않다. pls는 쉬운 방법으로 프로젝트를 표시 할 프로젝트 페이지가있는 것이 가장 좋은 솔루션을 제안한다. 미리보기 이미지, 프로젝트 세부 정보 및 일부 고객 정보가 포함되어야합니다. – Cruising2hell

+0

메뉴가있는 프로젝트 페이지에 링크하는 경우 페이지에 대한 sfx도 있습니다. $ this-> params-> get ('pageclass_sfx'); 하지만 메뉴에서 접미사를 설정해야합니다. 최고의 솔루션이 아닙니다! 그러나 내가 더 좋은 것을 생각해 내면 알려 줄 것입니다! – stone

0

나는 그것을 문제라고 부를 수 없다.

는 기본 CSS 파일로 이동이 코드 삽입 :

.module_clipon h3 { 
    position: absolute; 
    margin-top: 100px; 
    } 

/* put a right height value where your h3 module header reach the bottom of the module content */ 
0

내가 문제를 호출 할 수 있습니다.

는 기본 CSS 파일로 이동이 코드를 삽입 :

.module_clipon h3 { 
     position: absolute; 
     margin-top: 100px; 
} 

/* 당신의 H3 모듈 헤더 모듈 내용 */

:-)의 바닥에 도달 할 권리 높이 값을 넣어

0

$ module-> content의 반환을 수정할 수 있습니까? 모듈이 메뉴의 한 종류 인 경우, 렌더링, 때문에 것은 :

<ul class="nav menu"><li>...</li></ul>

예를 들어 나는 <ul>의 내부 클래스 = "목록 인라인"를 넣고을 삭제해야하는 경우 nav 태그 및 ul 태그의 메뉴 스타일.

관련 문제