我是使用MODx Revolution(2.2.8-pl)的新手,我无法找到足够的资源来完成我目前正在进行的项目,并取得良好的成绩
简而言之,我在照片/投资组合网站上工作,我需要在数据库中创建几个项目来存储摄影师所做的所有项目。
我找到了这个名为MIGx的精彩工具,它非常棒,但是我无法弄清楚如何用它连接两个表。 (仅用于输入)
基本上我尝试做的是将一个项目添加到投资组合表中,对于每个项目,有一个描述,日期,报价......和一个图像列表,每个都有它的自己的描述。
所以我的猜测是我在同一个包中需要两个对象以及它们之间的链接。
我的XML架构看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<model package="portfolio" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM" phpdoc-package="portfolio" phpdoc-subpackage="model" version="1.1">
<object class="portfolio_items" table="portfolio" extends="xPDOSimpleObject">
<field key="item_type" dbtype="varchar" precision="20" phptype="string" null="false" default=""/>
<field key="item_date" dbtype="varchar" precision="10" phptype="string" null="false" default=""/>
<field key="item_author" dbtype="varchar" precision="30" phptype="string" null="false" default=""/>
<field key="item_title" dbtype="varchar" precision="250" phptype="string" null="false" default="" />
<field key="item_description" dbtype="varchar" precision="500" phptype="string" null="false" default="" />
<field key="item_text_color" dbtype="varchar" precision="10" phptype="string" null="false" default="grey" />
<field key="item_sections" dbtype="varchar" precision="100" phptype="string" null="false" default="" />
<field key="item_keywords" dbtype="varchar" precision="250" phptype="string" null="false" default="" />
<field key="main_img" dbtype="varchar" precision="100" phptype="string" null="false" default="" />
<field key="item_img" dbtype="varchar" precision="100" phptype="string" null="false" default="" />
<field key="published" dbtype="int" precision="1" attributes="unsigned" phptype="integer" null="false" default="0" />
</object>
<object class=portfolio_item_section" table="item_content" extends="xPDOSimpleObject">
<field key="content_id" dbtype="int" precision="10" phptype="integer" null="false" default=""/>
<field key="content_type" dbtype="varchar" precision="20" phptype="string" null="false" default=""/>
<field key="content_title" dbtype="varchar" precision="100" phptype="string" null="false" default=""/>
<field key="content_quote" dbtype="varchar" precision="500" phptype="string" null="false" default=""/>
<field key="content_color" dbtype="varchar" precision="20" phptype="string" null="false" default="" />
<field key="content_main" dbtype="varchar" precision="2000" phptype="string" null="false" default="" />
<field key="content_image" dbtype="varchar" precision="100" phptype="string" null="false" default="grey" />
<field key="content_tags" dbtype="varchar" precision="10" phptype="string" null="false" default="" />
<composite alias="contentOwner" class="portfolio_table" local="content_id" foreign="id" cardinality="one" owner="local" />
</object>
</model>
所以,我想要实现的是两个对象之间的链接以及通过MIGx添加数据的方式。
我非常确定我必须创建一个模板变量并在MIGx formtabs中调用它,我几乎已经做了,但我不知道在哪里可以找到MIGx的良好文档以及如何让该死的东西工作。
我添加了一个&#34;添加项目到投资组合的图像&#34;窗口看起来像。从理论上讲,当用户点击&#34;添加项目&#34;时,他可以随意添加带有描述和标签的图像。
请指出如何配置Template变量,以便它可以将行添加到包中的第二个对象?
现在它只显示一个可爱的网格和一个输入字段。
亲切的问候, 亚历
答案 0 :(得分:0)
您需要使用自定义数据库表吗?
普通的MIGX电视会将所有值存储在电视价值的JSON字符串中,您可以通过getImageList
片段进行访问。
而不是使用Form Tabs
和Grid Columns
输入,通常更容易创建配置,这可以通过在管理器菜单中转到compontents-&gt; migx并选择MIGX选项卡来完成,点击Add Item
。
基本上,name
字段是您在电视的configurations
字段中输入的字段(将grid columns
和form tabs
留空。标签为{{ 1}}将允许您设置内容条目GUI,标签为form tabs
的选项卡用于列出MIGX条目的网格,您无需担心其他条目。
使用这种方法,您可以在另一台MIGX电视机内添加MIGX电视,最终得到包含许多其他项目的项目。
使用columns
访问嵌套的MIGX值,基本上只传递嵌套的MIGX值而不是tvname值,即:
getImageList
我知道我没有回答你问过的问题,但我希望这会有所帮助