Joomla中特定于类别的CSS样式?

时间:2013-04-10 14:31:46

标签: css joomla

有关将样式应用于文章类别(类别或其他任何内容?)的好方法的任何想法

目前,我手动创建文章的第一个传递,将其包装在一个范围内:

<span class="foo">
<p>bar</p>
<p>etc</p>
</span>

然后我将文章粘贴到JCK编辑器中,并在模板目录中有一个新的css文件来处理class foo

这不能很好地工作,因为JCK编辑器将span类移动到内部元素,产生类似

的内容
<p><span class="foo">bar</span></p>
<p><span class="foo">etc</span></p>

这是好的,直到您开始使用JCK编辑器编辑文章,因为新内容不在范围内:

<p><span class="foo">bar</span></p>
<p><span class="foo">etc</span></p>
<p>New unstyled content inserted by JCK Editor</p>

我在Joomla3上。如果类别的名称出现在html中,那将是理想的,所以我可以在其上挂一个样式,但事实并非如此。

3 个答案:

答案 0 :(得分:6)

有很多方法可以解决这个问题。如果您想为此目的在body标签中添加一个类,请查看我在https://github.com/construct-framework/construct5/blob/master/index.php#L65处的工作方式,并从https://github.com/construct-framework/construct5/blob/master/elements/logic.php#L235开始。这假设您要编辑模板。

您还可以制作一个简单的插件,动态地将这些类添加到您的body标签中。

否则,可以使用http://extensions.joomla.org/extensions/style-a-design/templating/14053

之类的方法来执行此操作

答案 1 :(得分:5)

  1. 如果每个类别都位于自己的菜单项上,您可以为容器div添加“Page Class”后缀(高级选项&gt;页面显示选项)

  2. 其他方式是添加模板覆盖:

  3. components/com_content/views/category/tmpl/blog.php复制到templates/[your_template]/html/com_content/category/blog.php

    在文件内部更改

    <div class="blog<?php echo $this->pageclass_sfx;?>">
    

    <div class="blog<?php echo $this->pageclass_sfx . ' ' . $this->category->alias;?>">
    

答案 2 :(得分:0)

你可能不应该在span-elements中添加p元素,因为span是一个内联元素,不应该包含像p这样的块元素。这就是JCK切换元素的原因。如果你使用div元素,你可能不会遇到文本编辑器的这个问题。

除此之外,我猜其他受访者都有优点。