0

私は現在、ユーザーがフロントエンドの Ajax フォームを使用して郵便番号でスポーツ クラブを検索できるようにするカスタム コンポーネントを Joomla 3 で構築しています。この機能はすべて機能しており、現在はコンポーネントのバックエンド (管理者) で作業しています。このセクションでは、管理者が特にスポーツ クラブを追加および削除できるようにする必要があります。

私はカスタム Joomla コンポーネントの構築に関してはあまり経験がありませんが、MVC の実用的な知識は十分にありますが、いくつかの問題に遭遇しました。

このコンポーネントは、「Postodes」と呼ばれるビューをデフォルト ビューとして使用します。このビュー自体には、現在のすべてのスポーツ クラブのドロップダウン メニューが含まれており、ユーザーはクラブを選択し、送信をクリックして編集ページに移動し、そのクラブの詳細を変更できます。これは私が問題を抱えているところです。編集するクラブを選択したユーザーに表示される「editform」という別のビューを作成したいと思います。Joomla フレームワーク内でこれを行う方法がわかりません。

これまでのコンポーネントのコードは次のとおりです。

コンポーネントのコントローラー (admin/components/com_postcode/controller.php):

<?php
defined('_JEXEC') or die;

class PostcodeController extends JControllerLegacy {

    protected $default_view = 'postcodes';

    public function display($cacheable = false) {           

        $view = $this->input->get('view', 'postcodes');
        $layout= $this->input->get('layout', 'postcodes');
        $id     = $this->input->getInt('id');

        return parent::display($cacheable);
    }
}

?>

郵便番号ビューの view.html.php ファイル (admin/components/com_postcode/views/postcodes/view.html.php):

<?php
defined('_JEXEC') or die;

class PostcodeViewPostcodes extends JViewLegacy {

    public function display($tpl = null) {
        $clubs = $this->get('Clubs');
        $this->clubs = array();
        foreach($clubs as $club) {
            $this->clubs[] = array(
                'club_id'         =>    $club['club_id'],
                'name'            =>    $club['name'],
                'postcode'        =>    $club['postcode'],
                'link'            =>    $club['link'],
                'description'     =>    $club['club_id'],
                'image'           =>    $club['club_id'],
                'address'         =>    $club['club_id']
            );
        }
        $pagination = $this->get('Pagination');

        $this->items = $items;
        $this->pagination = $pagination;

        parent::display($tpl);
    }

}   

?>

ビューファイル (admin/components/com_postcode/views/postcodes/tmpl/default.php):

<div class="row-fluid">
<div id="filter-bar" class="btn-toolbar">
    <a class="btn" href="">Clubs</a>
    <a class="btn" href="">Postcodes</a>
</div>
<div class="span2">view

</div>
<div class="postcode_admin span10">
    <h3>Postcode Search Component</h3>      
    <form action="<?php echo JRoute::_('index.php?option=com_users&view=clubedit');?>" method="post" name="postcodeForm" id="postcodeForm">
        <select name="clubs" id="clubFilter">
            <option value="">-- Please select --</option>
            <?php foreach($this->clubs as $club) { ?>
                <option value="<?php echo $club['club_id']; ?>"><?php echo $club['name']; ?></option>
            <?php } ?>
        </select>
        <input type="submit" name="submit" id="submit" value="Submit" />
    </form> 

    <div class="club_information">

    </div>
</div>

「default.php」ファイルからわかるように、フォームに「clubedit」ビューに送信するように指示していますが、そうではありません。ここに何かが欠けていることはわかっていますが、オンラインの Joomla 3 コンポーネントに関するドキュメントはあまりありません。誰でもこれに光を当てることができますか?

ありがとう!!

4

0 に答える 0