2013-04-10 125 views
3

的好方法的任何想法,将样式应用到的物品类Joomla中的类别特定CSS样式?

目前,我手动创建在文章的第一关,在跨度包装它(类别,或别的东西吗?):

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

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

这并不能很好地工作,因为JCK编辑移动跨度类的内部元素,如

<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中,那么理想的情况是,我可以在其上挂上一个样式,但它不会。

回答

5
  1. ,您可以添加“页面类后缀为div容器(高级选项>页显示选项)

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

副本components/com_content/views/category/tmpl/blog.phptemplates/[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;?>"> 
+0

谢谢 - '页面显示选项'是一个不错的简单方法。请注意,最简单的方法是在输入框中的类名之前输入空格,否则您将获得连接的类名称。 – EML 2013-04-12 10:11:46

6

有很多方法可以解决这个问题。如果你想为这个目的添加一个类到body标签,看看我是如何在https://github.com/construct-framework/construct5/blob/master/index.php#L65https://github.com/construct-framework/construct5/blob/master/elements/logic.php#L235开始的。这假定你要编辑你的模板。

你也可以用一个简单的插件来动态地将这些类添加到你的body标签中。

否则,它可能是可能的,如果每个类别是坐在自己的菜单项的东西要做到这一点像http://extensions.joomla.org/extensions/style-a-design/templating/14053

+0

我坚持使用更简单的'页面显示选项' - 不错的代码。 – EML 2013-04-12 10:12:31

+0

谢谢。我同意'页面显示选项'是一个不错的简单方法。 – betweenbrain 2013-04-12 14:13:38

0

你可能不应该添加内跨度元素对元素,跨度是内嵌元素,不应包含像p的块元素。这就是为什么JCK正在切换元素。如果使用div元素,您可能不会遇到文本编辑器的问题。

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