【问题标题】:Joomla article with custom buttons and images on the right右侧带有自定义按钮和图像的 Joomla 文章
【发布时间】:2013-01-27 18:13:33
【问题描述】:

我必须创建 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) 带有谷歌地图的联系页面。 我已经创建了包含联系方式的联系页面。这是另一个问题,我会问其他时间。

【问题讨论】:

    标签: html joomla joomla2.5


    【解决方案1】:

    你好 Renathy,欢迎来到 Joomla! 1)您当然可以在编辑器中插入 div 并使用浮动设置它们的样式;但正如您提到的,这对翻译非常不利,并且允许用户轻松破坏布局。

    您有以下选择:

    1.a) Joomla 2.5+ 支持您可以在每篇文章的图像和链接组中指定的文章图像和缩略图。要扩展到 3 张图像需要做很多工作,您需要编写一个插件(或进行令人讨厌的核心 hack)并覆盖视图;它也没有很好的记录。这里有一个讨论:Add additional images to articles in Joomla 2.5

    1.b) 使用插件添加上面的额外图像。然后使用一个模块来显示图像而不是视图覆盖。

    1.c) 使用自定义图像管理解决方案将图像链接到文章,然后使用插件来显示它们。更容易,但仍然需要大量工作。我已经在一个站点上完成了这项工作并且工作正常,尽管我现在会更改很多代码。据我所知,没有可用的扩展可以做到这一点。

    所有三种解决方案都允许您使用适当的 div 浮动响应来使用适当的内容浮动,并将内容的布局与图像隔离开来,从而为内容编辑器提供一个可靠的环境,并且易于翻译(尽管,如果您使用 1.a) 或 1.b),我强烈建议您使用合适的翻译套件,例如 Falang 或 JoomFish(Falang 是 Joomfish 与旧 1.5 版本不同的端口)

    2) 您将使用模块解决上述问题。 在您的模板中创建一个 main

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

    【讨论】:

    • 谢谢。我已经理解了这个想法。关于第三点 - 您是否建议将谷歌地图直接插入视图? (覆盖联系人页面视图并直接插入谷歌地图?)
    • 嗯,从架构的角度来看,这是一个无关紧要的项目(您只使用一页上的地图),它真的没有任何区别。因此,选择对您来说更容易的方法:您可以使用 yotheme 的小部件工具包来创建地图,然后将其模块插入到联系我们页面上方(无需编码 = 不用担心;比手动覆盖慢?当然。但是你呢?关心吗?联系我们页面上的 200 毫秒不会有任何影响,这不像我们在谈论主页
    猜你喜欢
    • 2018-08-11
    • 2011-04-07
    • 2011-01-14
    • 2010-12-21
    • 2023-03-14
    • 2016-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多