2009-07-24 16 views
1

joomlaモジュールのHTML構造を変更する必要があります。私はそのコンテンツの下にタイトルを表示する必要があるカスタムモジュールを作成したいと思います。 これはデフォルトフォーマット(四捨五入)で存在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> 

。 JoomlaでモジュールのHTMLを操作する方法は何でしょうか。私は、modChromeを使用することで可能であると信じています。誰かが解決策を簡単に実装できる場合は、お手伝いください。

答えて

1

本当にカスタムモジュールのchromeでこれを処理したいと思うでしょう。テンプレートのフォルダ内に、htmlフォルダがまだ存在しない場合は作成します。このフォルダ内にファイルmodules.phpを作成します。そして、このコードでそれを埋める:

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

使用あなたがnameパラメータに必要なものは何でもモジュールポジション名:

<?php 

defined('_JEXEC') or die; 

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

最後に、あなたのモジュールの位置に、このクロムを適用するために戻ってあなたのテンプレートに行きます。 styleパラメータがmodChrome_関数名と一致することに注意してください。詳細情報については

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

+0

ありがとうございますjlleblanc、あなたの応答が役に立ちます。しかし、同じモジュール位置に他のモジュールを配置する必要があります。デフォルトの丸みを帯びたレイアウト(4 divsのラッピング)で上下に配置する必要があります。どのようにこれを起こすように推測する? – 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のページの 'ポートフォリオ'の種類を実装するプロジェクトを表示する一方で、1つのページに定期的な記事があります。私は確信していませんが、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タグのメニュースタイル。

関連する問題