0

我必须创建 Joomla 网站。我是 PHP 程序员,但对 Joomla 很陌生。我花了很多钱,阅读教程和其他人员。网站很简单,就是餐厅的名片。

我已经安装了 Joomla 2.5。我花了两天时间完成了以下工作: - 创建菜单 - 使用语言切换器创建多语言网站(2 种语言) - 创建简单的静态页面(文章) - 创建一个页面作为联系人 - 为我的网站创建简单的模板

但是,我不能做一些事情,也没有在教程或谷歌中找到任何答案。如果你打开这个文件http://img1.uploadscreenshot.com/images/orig/1/2621034793-orig.jpg你可以在网站上看到三个不同页面的图片:

1) 文章右侧有三张图片。基本上,我不知道创建包含一些自定义 HTML的文章的最佳实践是什么(在这种情况下,这些是图像)。例如,我可以创建包含两列的表格——一列用于文本,另一列用于图像。如果没有 Joomla,我会创建两个 div,但是如何在这里完成?同样对于自定义 html,我需要为每种语言做同样的事情 - 我需要为每种语言添加图像,我不喜欢这样。我真的没有找到任何解决方案。你有什么建议吗?

2) 文章右侧有三个按钮。这是登陆页面上的文章。这可能是同一个问题 -如何创建包含一些自定义 HTML 的文章(在这种情况下,这些是三个按钮 - 指向网站内页面的链接)?我可以再次创建带有文本和按钮的表格,但这应该针对每种语言进行。这是一个好习惯吗?您还有其他一些建议来创建右侧带有三个按钮的文章吗?也许我可以创建一些自定义模块,但这听起来很奇怪。

3) 带有谷歌地图的联系页面。我已经创建了包含联系方式的联系页面。这是另一个问题,我会在其他时间问。

4

1 回答 1

1

你好 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 有时会发布安全更新,应用它们会很痛苦。祝你的网站好运。

于 2013-01-27T22:39:58.977 回答