你好 Renathy,欢迎来到 Joomla!1)您当然可以在编辑器中插入 div 并使用浮动设置它们的样式;但是正如您提到的,这对翻译非常不利,并且允许用户轻松破坏布局。
您有以下选择:
1.a )
Joomla 2.5+ 支持您可以在每篇文章的图像和链接组中指定的文章图像和缩略图。要扩展到 3 张图像需要做很多工作,您需要编写一个插件(或进行令人讨厌的核心 hack)并覆盖视图;它也没有很好的记录。这里有一个关于它的讨论:在 Joomla 2.5 中的文章中添加附加图像
1.b)
使用插件添加上面的额外图像。然后使用一个模块来显示图像而不是视图覆盖。
1.c)
使用自定义图像管理解决方案将图像链接到文章,然后使用插件来显示它们。更容易,但仍然需要大量工作。我已经在一个站点上完成了这项工作并且工作正常,尽管我现在会更改很多代码。据我所知,没有可用的扩展可以做到这一点。
所有这三种解决方案都允许您使用适当的 div 浮动响应来使用适当的内容浮动,并将内容的布局与图像隔离开来,从而为内容编辑器提供一个可靠的环境,并且易于翻译(尽管,如果你去对于 1.a) 或 1.b),我强烈建议您使用适当的翻译套件,例如 Falang 或 JoomFish(Falang 是与旧 1.5 版本不同的 Joomfish 端口)
2)
您将使用模块解决上述问题。在您的模板中创建一个主
<div class="content-box">
<div class="content-main"> here you will place your component's output.</div>
<div class="content-sidebar"> here you will output a new module position, name it "article-sidebar"</div>
然后像这样设计它:
div.content-box {
/* here you need a clearfix choose one here: https://stackoverflow.com/questions/211383/which-method-of-clearfix-is-best/211467#211467 */
}
div.content-box div.content-main {
width:70%;display:inline-block;float:left;
}
div.content-box div.content-sidebar {
width:29.99%;float:right;
}
div.content-wide div.content-sidebar {
display:none;
}
但是您可能不希望在所有页面上都这样做,然后您可以在生成模板时以编程方式处理它。
这个想法是:在您的模板输出中,您正在编写
<div class="content-box">
相反,当您的文章侧边栏包含某些内容时,有条件地添加一个类:
<div class="content-<?php
if ($this->countModules("article-sidebar")==0)
echo "wide";
else
echo "box";
?>">
这将动态地改变 div 的类,因此您只提供 1 个 css。
此时,创建一个模块并选择“仅在选定页面上”显示它。
3)
当你想改变一个视图时,永远不要改变文件。而是将所有视图的 php 复制到模板文件夹/html/com_contact/contact 下的文件夹中。即使您要更改不同的布局,您仍然需要将 default.php 复制到那里。然后更改它插入谷歌地图。
最后的考虑。您应该避免编辑核心文件。Joomla 有时会发布安全更新,应用它们会很痛苦。祝你的网站好运。