我目前正在Joomla 3中构建一个自定义组件,允许用户使用前端的Ajax表单通过邮政编码搜索体育俱乐部。 我有所有这些功能,现在正在处理组件的后端(在管理员中)。本节需要让管理员添加和删除体育俱乐部等。
我在构建自定义Joomla组件方面没有太多经验,但对MVC有很好的工作知识,但遇到了一些问题。
该组件使用名为“Posctodes”的视图作为默认视图,该视图本身包含所有当前体育俱乐部的下拉菜单,允许用户选择俱乐部,点击提交并进入编辑页面以更改有关的详细信息那个俱乐部。这就是我遇到问题的地方。 我想创建一个名为'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);
}
}
&GT;
邮政编码视图的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);
}
}
&GT;
视图文件(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组件的大量文档。任何人都可以对此有所了解吗?
谢谢!