亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Joomla Subform field

Joomla Subform field

PHP
BIG陽 2022-09-03 16:34:38
我們繼承了一個Joomla項目,需要為產品圖像實現一個重復字段。我們很難理解如何在數據庫中實現它。有沒有一些命名約定來告訴Joomla使用什么表/外鍵?我們在 xml 文件中提供了以下內容:<?xml version="1.0" encoding="UTF-8"?><field    name="gallery_images"    type="subform"    label="Gallery Images"    description="Images for the gallery"    multiple="true"    min="1"    max="10"    >    <form>        <field            name="image_url"            type="media"            label="Image"            />    </form></field>然后,我們將 is 拉入表單 edit.php 文件,如下所示:<div class="control-group">    <div class="control-label"><?php echo $this->form->getLabel('gallery_images'); ?></div>    <div class="controls"><?php echo $this->form->getInput('gallery_images'); ?></div></div>這實際上一切都在后端完美運行。但它不會保存任何地方。我們嘗試在產品表上創建一個字段,認為它可能會存儲為JSON。我們嘗試為圖像創建另一個帶有product_id的表格,認為也許Joomla只是計算出外鍵?Joomla文檔似乎沒有說明它在數據庫中是如何工作的。(https://docs.joomla.org/Subform_form_field_type)
查看完整描述

1 回答

?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

因此,由于gallery_images字段被joomla保存到其中,因此我們編寫了一些代碼來手動執行此操作。


class ModelProduct extends JModelAdmin

{

    public function save($data) {

        if (parent::save($data)) {

            $registry = new Registry;

            $registry->loadArray($data['gallery_image']);

            $data['gallery_image'] = (string) $registry;

            $db = JFactory::getDbo();

            $query = $db->getQuery(true);


            // Fields to update.

            $fields = array(

                $db->quoteName('gallery_image') . ' = ' . $db->quote($data['gallery_image']),

            );


            // Conditions for which records should be updated.

            $conditions = array(

                $db->quoteName('id') . ' = '.$data['id'],

            );


            $query->update($db->quoteName('v4yn2_product'))->set($fields)->where($conditions);

            $db->setQuery($query);

            $result = $db->execute();

            return true;

        }

        return false;

    }

}


查看完整回答
反對 回復 2022-09-03
  • 1 回答
  • 0 關注
  • 83 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號