当前位置: 首页 > 知识库问答 >
问题:

更改Joomla 2.5中的视图布局

孔斌
2023-03-14

我知道有几个类似的主题,但我读了并尝试了其中的大部分,但仍然不知道如何做到这一点。

我写了一个组件在Joomla 2.5和它的工作到目前为止。我有不同的视图,我可以使用controller.php.其中一个视图显示了我的数据库(关于团队的数据)中的一个表。

现在我想有另一个相同视图的布局,它将数据基表显示为表单,以便可以更改内容。

这是文件结构:


-团队/
---tmpl/
- - - default.php
- - - modify.php
--view.html.php

这不在view.html.php文件中:

...
// Overwriting JView display method
function display($tpl = null) {

    ...

    $this->setLayout('modify');
    echo $this->getLayout();
    // Display the view
    parent::display($tpl);
}

我尝试了setLayout,$tpl=...,default_modify.php等不同的组合,但我总是要么得到默认布局或一些错误,如找不到布局修改

我加载网站与.../index.php?option=com_test

和控制器。php如下所示:

function updateTeams(){
    $model = $this->getModel('teams');
    $view = $this->getView('teams','html');
    $view->setModel($model);

    $view->display();
}

共有3个答案

张玺
2023-03-14

这是一个老话题,但可能仍然有用
似乎当需要更改布局时,$tpl不能包含在显示器中()或必须为null

因此,前面的代码是:

function display($tpl = null) {
    /* ... */
    $this->setLayout('modify');
    // Display the view without the $tpl (or be sure it is null)
    parent::display();
}
向俊贤
2023-03-14

好的,这就是问题所在。。您不需要另一个布局,而是需要一个基于表单而不是渲染的新MVC空间坐标轴。因此,如果您查看后端中的任何核心内容组件,都会发现它们有一个mvc,例如。。。联系人和联系人的一个是编辑器。如果在前端,您会注意到com_内容和com_Web链接都有mvc for artice/weblink,然后分别进行编辑。

编辑需要一个与渲染完全不同的模型、布局和操作集。

况弘新
2023-03-14

我有一个类似的问题,我创建了某种用户配置文件视图,希望他们能够编辑字段,而不必为其创建新模型(将具有类似的功能,讨厌冗余…)。对我有效的方法是简单地将布局称为:

指数php?选项=com\U mycomponent

为此,我没有碰view.html.php(起初我碰了,但没必要。)。你也不需要使用控制器。如果要加载修改视图,只需在常规视图中添加一个链接到修改布局的按钮。不需要改变其他任何事情。

我碰巧写了一篇关于它的博客文章,如果你愿意,请查看:http://violetfortytwo.blogspot.de/2012/11/joomla-25-multiple-views-one-model.html

希望这有帮助。

 类似资料:
  • 基本上,我有一个方法可以将Image从数据库加载到ImageView中,还有第二个方法可以更改图像,我成功地运行了这两个方法,没有出现异常,但是在change eImage()方法中的setImage之后,我需要更新什么以及如何(场景、阶段)是可能的。我知道在javafx中没有像swings中的repaint()这样的方法,那么我该如何处理呢?

  • 我正在android中测试Navigation Drawer示例项目,在设置Navigation view配置文件标题中的文本时遇到问题。 这是我的代码: 主要活动。JAVA 主要活动。xml 导航总管总管。xml 当我试图设置textview的文本时,我总是会遇到这个错误,而且只有在api级别23时才会发生: 如何从主活动更改nav_header_main.xml的Textview文本? 提前谢

  • 在应用程序启动时,我试图使用以下代码通过查看加载更改单独视图的位置: 但是,这似乎无法直接在viewDidLoad中工作。如果我使用iAction将to指定给按钮,代码就会工作 我猜我这里遗漏了什么,但我不知道是什么。

  • 许多有关自动布局约束动画的教程建议更新约束的常量属性,然后在动画块中调用。 我的处境有点棘手。我有一个包含3个子视图的视图。此超级视图的高度不是固定的-它是按其子视图的高度之和计算的。在某些情况下,我要求这3个子视图中的一个子视图切换其高度(它在0和30之间变化,即我希望平滑地隐藏和显示它)。代码类似于此: 不幸的是,这并不像我预期的那样有效。我可以看到子视图高度的平滑变化,但在为子视图高度约束设

  • 我通过图像视图显示了程序中的图标。按下按钮时,黄色图标应变为红色。我尝试了所有方法,但没有一个有效。...背景颜色...他把图像视图变成红色,呈全正方形。我只想让图标改变颜色。这是非常困难的'请帮忙。谢谢。 我的代码:

  • 我需要将数组中的值替换为。尝试此操作时,仅显示阵列中的第一条记录。 如何显示数组中的所有条目?