簡體   English   中英

如何在Joomla中插入HTML標記!模塊標題?

[英]How to insert HTML tags in Joomla! module title?

我要做的是為我的Joomla添加一些HTML標簽! 模塊標題。 我需要這樣的東西

Some <b>Title</b>

但是當我保存!Joomla修剪標題並刪除所有HTML標簽。

我檢查了管理員/ com_content,我認為應該負責插入數據庫數據,但我找不到答案。

任何人都可以幫我解決這個問題嗎?

查看../templates/system/html/modules.php

您可以在HTML中設置模塊結構的樣式。

function modChrome_myCustomModule($module, &$params, &$attribs)
{
$doc =& JFactory::getDocument();
$css  = ".otherClass {}";
$css .= ".yourClass {}";

$doc->addStyleDeclaration($css);

?>
    <div>
        <?php if ($module->showtitle != 0) : ?>
            <h1><?php echo $module->title; ?></h1>
    <?php endif; ?> // post your title
    </div>
    <div>
         <?php echo $module->content; ?> // post your module content
    </div>

<?php
}

然后在index.php中調用樣式化模塊:

  <jdoc:include type="modules" name="right" style="myCustomModule"  />

所以我找到了解決方案。 它包括以前的兩個答案,所以我在這里用正確的代碼添加一個新答案。

首先我需要說的是,這個解決方案僅適用於固定數量的單詞(最后一個,兩個等)我只需要最后一個單詞,所以我將發布一個單詞的示例代碼。

首先,作為SMacFadyen,我需要在我的模板html文件夾中創建一個新的模塊結構:/templates/system/html/modules.php文件。

注意:如果您不想將這個新模塊樣式添加到所有模板中,而只是在其中一個模板上,則需要將module.php放在模板的html文件夾中。

SMacFadyen提供的內容如下:

function modChrome_myCustomModule($module, &$params, &$attribs)
{
$doc =& JFactory::getDocument();
$css  = ".otherClass {}";
$css .= ".yourClass {}";

$doc->addStyleDeclaration($css);

?>
    <div>
        <?php if ($module->showtitle != 0) : ?>
            <h1><?php echo $module->title; ?></h1>
    <?php endif; ?> // post your title
    </div>
    <div>
         <?php echo $module->content; ?> // post your module content
    </div>

<?php
}

然后由Hanny的評論過期我添加了一些PHP代碼來匹配標題的最后一個單詞並將其存儲在一個新的varibale中。代碼如下所示:

$wrap_tag = 'b';
$html_title = preg_replace("~\W\w+\s*$~", '<'.$wrap_tag.'>'.'\\0'.'</'.$wrap_tag.'>', $module->title);

注意: $wrap_tag變量存儲您想要的標記。 你可以把b,em,u等等有不同的結果。

最后一件事是替換顯示的標題,所以我已經替換了這段代碼: <h1><?php echo $module->title; ?></h1> <h1><?php echo $module->title; ?></h1>這一個: <h1><?php echo $html_title; ?></h1> <h1><?php echo $html_title; ?></h1>

最終結果如下:

function modChrome_myCustomModule($module, &$params, &$attribs)
{
$doc =& JFactory::getDocument();
$css  = ".otherClass {}";
$css .= ".yourClass {}";

$wrap_tag = 'b';
$html_title = preg_replace("~\W\w+\s*$~", '<'.$wrap_tag.'>'.'\\0'.'</'.$wrap_tag.'>', $module->title);

$doc->addStyleDeclaration($css);

?>
    <div>
        <?php if ($module->showtitle != 0) : ?>
            <h1><?php echo $html_title; ?></h1>
    <?php endif; ?> // post your title
    </div>
    <div>
         <?php echo $module->content; ?> // post your module content
    </div>

<?php
}

感謝大家的幫助。

龍門架可以幫助你完成你想要的東西(第一個單詞是單向的,第二個單詞是另一個單詞) - 但是要完成你正在尋找的一個任務需要花費大量的開銷。 最終你必須為你的模板創建一個模板覆蓋,然后用php做一些創意編輯,以便讓它以這種方式顯示。

沒有快速簡便的方法來完成這項工作。 你必須在后端做一些PHP編碼並編輯模板(使用覆蓋,這樣你就不會破解核心文件)。 最終你可能需要編寫PHP代碼來拆分標題,並使用CSS將格式應用於每個拉開的單詞(或字符串,視情況而定)。

希望有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM