2016-08-02 98 views
0

我期望在所有页面上出现的某些页面上隐藏div。我已经使用一些PHP和CSS来分配每个页面的唯一代码,但我无法得到正确的CSS来隐藏或从这些网页中删除div。Joomla 3隐藏来自特定页面的内容

.pageid111 .logo{ 
    display: none; 
    } 

是我正在尝试使用。希望得到任何帮助

+0

你是什么意思与“来自特定页面”? 您是否试图在主页上隐藏徽标? – alfredopacino

+0

好的。我在主页上有徽标,但不希望它出现在我们的页面上 –

+0

您的HTML看起来像什么?具体来说,PHP为每个页面分配一个唯一代码的HTML代码行是什么样的?在主页的html中放置一个主页类可能会更容易。 – gaynorvader

回答

1

相反直接在所有文件中调用徽标,您可以创建一个模块并在需要时显示它。您必须更改模板文件中的一些代码。我会举一个例子,以便您可以为自己的模板做到这一点。

如果您看到Joomla附带的默认模板protostar。它有一个名为index.php的文件。 $徽标在行号67-78处定义为

// Logo file or site title param 
if ($this->params->get('logoFile')) 
{ 
    $logo = '<img src="' . JUri::root() . $this->params->get('logoFile') . '" alt="' . $sitename . '" />'; 
} 
elseif ($this->params->get('sitetitle')) 
{ 
    $logo = '<span class="site-title" title="' . $sitename . '">' . htmlspecialchars($this->params->get('sitetitle')) . '</span>'; 
} 
else 
{ 
    $logo = '<span class="site-title" title="' . $sitename . '">' . $sitename . '</span>'; 
} 

您可以对此进行注释。

下一页上的同一个文件下面一点左右线140,你会发现这段代码

<?php echo $logo; ?> 

此代码调用徽标文件。只需将此代码替换为

<jdoc:include type="modules" name="logo" style="xhtml" /> 

您刚添加了带有名称徽标的新模块位置。

这不会反映,直到您在templateDetails.xml文件中添加这个位置

,如果你打开文件,你会发现这些线

<positions> 
     <position>banner</position> 
     <position>debug</position> 
     <position>position-0</position> 
     <position>position-1</position> 
     ............. 
</positions> 

新增标志位置到

<positions> 
     <position>banner</position> 
     <position>debug</position> 
     <position>logo</position> 
     <position>position-0</position> 
     <position>position-1</position> 
     ............. 
</positions> 

所以你现在有一个额外的模块位置来代替硬编码的标识图像。你可以放置任何图像模块,或者只是创建一个html模块。