我可以更改模块标题中第一个单词的颜色。 可以通过在标题的第一个单词中添加跨度来完成。
下面的modules.php代码适用于此。
BUT
在Joomla admin中,当我为Module Class Suffix创建一个类时,它不会为前端的模块创建。
module.php中缺少一些东西来启用在Joomla admin中创建的Module Class Suffix
这是我对templates / mytemplate / html / modules.php
的代码 <?php
/**
* @package Joomla.Administrator
* @subpackage Templates.protostar
*
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* This is a file to add template specific chrome to module rendering. To use it you would
* set the style attribute for the given module(s) include in your template to use the style
* for each given modChrome function.
*
* eg. To render a module mod_test in the submenu style, you would use the following include:
* <jdoc:include type="module" name="test" style="submenu" />
*
* This gives template designers ultimate control over how modules are rendered.
*
* NOTICE: All chrome wrapping methods should be named: modChrome_{STYLE} and take the same
* two arguments.
*/
/*
* Module chrome for rendering the module in a submenu
*/
function modChrome_xhtmlwithcolor($module, &$params, &$attribs)
{
$headerLevel = isset($attribs['headerLevel']) ? (int) $attribs['headerLevel'] : 3;
if (!empty ($module->content)) : ?>
<?php if ($module->showtitle) : ?>
<h<?php echo $headerLevel; ?>><?php
$title = $module->title;
$title = split(' ', $title);
$title[0] = '<span>'.$title[0].'</span>';
$title= join(' ', $title);
echo $title;
?></h><?php echo $headerLevel; ?>>
<?php endif; ?>
<?php echo $module->content; ?>
<?php endif;
}
?>
在index.php模板模块位置我有
<jdoc:include type="modules" name="bottom-1" style="xhtmlwithcolor" />
有人可以帮助或建议解决此问题。
答案 0 :(得分:2)
moduleclass_sfx
作为modChrome_xhtmlwithcolor ()
变量的一部分传递到&$params
。要在PHP中使用它,您可以使用以下内容:
htmlspecialchars($params->get('moduleclass_sfx'))
通常你会倾向于将你的模块包装在一个<div>
中,以便在使用DOM操作等方面很好地打包它。
所以你可能有:
echo "<div class=\"" . htmlspecialchars($params->get('moduleclass_sfx')) . "\">";
... your code ...
echo "</div>";