【问题标题】:CakePHP show and hide form fields dynamicallyCakePHP 动态显示和隐藏表单字段
【发布时间】:2014-12-18 12:59:54
【问题描述】:

我有一个被多个客户使用的 CakePHP 网站。每个客户端都应该能够在表单中看到略有不同的输入字段。这是由于客户的偏好。

一个简化的例子: 客户应该能够从一个大列表中查找书籍。虽然有些客户更喜欢按作者查找,但其他客户可能希望按发布日期或标题查找。但是每个客户在他的搜索页面中应该只能看到一个输入字段。我不想用太多的选择来打扰客户。

虽然创建不同的主题并为每个客户端切换它们是一种选择,但如果我们谈论许多视图和许多输入字段,它很快就会变成很多工作。在视图文件中放置大量 if/else 也是如此。

控制器逻辑可以为所有客户端共享,因为在查找书籍时,我的控制器将忽略空的或不存在的输入字段。

最佳我有某种动态配置,它为每个客户端说明在哪个页面上显示或隐藏哪个输入字段。

让我知道对此的任何建议,或者有什么好的 CakePHP 方法来实现这一点。

【问题讨论】:

    标签: cakephp dynamic show-hide form-helpers input-field


    【解决方案1】:

    如果我做对了,只需为每个客户端使用一个元素:

    echo $this->element('client_forms/' . $clientIdentifier);
    

    【讨论】:

    • 那么我需要每个客户端每个视图一个元素。
    • 此外,输入字段之间可能存在一些应该很容易更改的通用标记(例如,无需编辑 50 个客户端元素。)我更喜欢无需创建额外视图文件或元素即可工作的解决方案。例如可以在数据库表中配置的东西。
    猜你喜欢
    • 2013-02-14
    • 1970-01-01
    • 1970-01-01
    • 2014-01-19
    • 2013-07-23
    • 2012-09-27
    • 2010-11-21
    • 2012-03-11
    • 1970-01-01
    相关资源
    最近更新 更多