Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 向Joomla 3.1中的每个模块添加锚点_Php_Joomla_Anchor - Fatal编程技术网

Php 向Joomla 3.1中的每个模块添加锚点

Php 向Joomla 3.1中的每个模块添加锚点,php,joomla,anchor,Php,Joomla,Anchor,我试图修改模块模板代码,为每个模块的标题添加一个锚。我的PHP知识非常有限,所以任何指导都会非常有用 我在文章中找到了这样做的帖子,但是模块的代码似乎非常不同 这是我的模块模板中的代码 function modChrome_basic($module, &$params, &$attribs) { if (!empty ($module->content)) : ?> <?php echo $module->content; ?> <?

我试图修改模块模板代码,为每个模块的标题添加一个锚。我的PHP知识非常有限,所以任何指导都会非常有用

我在文章中找到了这样做的帖子,但是模块的代码似乎非常不同

这是我的模块模板中的代码

function modChrome_basic($module, &$params, &$attribs)
{
if (!empty ($module->content)) : ?>
    <?php echo $module->content; ?>
<?php endif;
}

function modChrome_standard($module, &$params, &$attribs)
{
if (!empty ($module->content)) : ?>
       <div class="rt-block <?php if ($params->get('moduleclass_sfx')!='') : ?><?php echo              $params->get('moduleclass_sfx'); ?><?php endif; ?>">
        <div class="module-surround">
            <?php if ($module->showtitle != 0) : ?>
        <div class="module-title">
                <?php 
                echo '<h2 class="title">';
                    if (preg_match("/icon[-]{1,}/i", $params->get('moduleclass_sfx'))) : 
                        echo '<span class="title-icon ' .getIconClass($params->get('moduleclass_sfx')). '"></span>';
                    endif;
                    echo $module->title;
                echo '</h2>';
                ?>
        </div>
                    <?php endif; ?>
                    <div class="module-content">
                        <?php echo $module->content; ?>
                    </div>
                </div>
       </div>
<?php endif;
} 这是我试过的代码

if( strlen($this->item->params->get('title')) > 0 ) { 
    echo '<a name="'.$this->item->params->get('title').'"></a>'; 
}
我也试过了

 if( strlen($module->item->params->get('title')) > 0 ) { 
     echo '<a name="'.$module->item->params->get('title').'"></a>'; 
} 

Joomla有一种定制模块外观的简单方法

你必须使用一个

您必须在/templates/TEMPLATE\u NAME/html/modules.php下创建modules.php文件

在此文件中,您必须放入:

<?php
  function modChrome_custom( $module, &$params, &$attribs ) {

    echo '<div id="' .$params->get( 'moduleclass_sfx' ) .'" >';

    if ($module->showtitle) 
    {
    echo '<h' .$headerLevel .'>' .$module->title .'</h' .$headerLevel .'>';
    }

    echo '<div class="module_content">';
    echo $module->content;
    echo '</div>';

    echo '</div>';
  }
?>
在上面的代码中,模块id获取moduleclass\u sfx值。您可以更改它并设置另一个模块变量

要使用此外观,必须为模板模块调用设置适当的样式,如:

如果要使用其他样式名称,必须将函数从modChrome\u custom更改为modChrome\u NEWSTYLE


祝你好运

你能展示一些代码来帮助你准确地描述你想要的吗?对不起,我只有很少的PHP知识。下面是一篇博客文章,解释了如何为文章这样做。不过,我尝试使用模块标题,因为我认为模块没有关键参考。我们不会在Stackoverflow为你做所有的工作。我们希望您知道或不知道,通过至少尝试解决您的问题来显示一些努力。有一些教程将向您展示如何进行模块覆盖。我理解这一点,但我也意识到这是一项非常简单的任务,需要正确的知识。这是我尝试过的代码我也尝试过是的,我已经有类似的代码使用现有的模板,但我不知道如何在锚中回显标题。我将编辑我的主要帖子来展示代码。我试图理解你所说的“锚”是什么意思。您的代码没有效果,您必须将其转换为。我的代码现在产生一个错误,但我正在尝试在代码中创建一个锚标记,而不是指向锚的链接。请尝试:部分问题可能是我把代码放在哪里了,但那似乎不起作用。如果我把它放在模块title div标记之后,那么它会导致一个错误。如果我把它放在前面,那么我的代码就会在网站上显示为文本。