gpt4 book ai didi

php - Joomla - 在哪里编辑插入 SQL?

转载 作者:可可西里 更新时间:2023-11-01 08:06:08 26 4
gpt4 key购买 nike

我现在正在学习创建 MVC 组件。我研究了使用组件创建器创建的代码。

现在我想在编辑表单中单击保存按钮后找到 SQL 插入函数,表单发送到哪里以调用插入函数?

com_astock/admin/view/addstock/tmpl/edit.php

<?php
/**
* @version 1.0.0
* @package com_astock
* @copyright Copyright (C) 2013. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
* @author Joe <joequah1@hotmail.com> - http://
*/
// no direct access
defined('_JEXEC') or die;

JHtml::addIncludePath(JPATH_COMPONENT . '/helpers/html');
JHtml::_('behavior.tooltip');
JHtml::_('behavior.formvalidation');
JHtml::_('formbehavior.chosen', 'select');
JHtml::_('behavior.keepalive');

// Import CSS
$document = JFactory::getDocument();
$document->addStyleSheet('components/com_astock/assets/css/astock.css');
?>
<script type="text/javascript">
js = jQuery.noConflict();
js(document).ready(function(){

});

Joomla.submitbutton = function(task)
{
if(task == 'addstock.cancel'){
Joomla.submitform(task, document.getElementById('addstock-form'));
}
else{

if (task != 'addstock.cancel' && document.formvalidator.isValid(document.id('addstock-form'))) {

Joomla.submitform(task, document.getElementById('addstock-form'));
}
else {
alert('<?php echo $this->escape(JText::_('JGLOBAL_VALIDATION_FORM_FAILED')); ?>');
}
}
}
</script>

<form action="<?php echo JRoute::_('index.php?option=com_astock&layout=edit&stock_code=' . (int) $this->form->getInput('stock_code')); ?>" method="post" enctype="multipart/form-data" name="adminForm" id="addstock-form" class="form-validate">
<div class="row-fluid">
<div class="span10 form-horizontal">
<fieldset class="adminform">

<div class="control-group">
<div class="control-label"><?php echo $this->form->getLabel('stock_code'); ?></div>
<div class="controls"><?php echo $this->form->getInput('stock_code'); ?></div>
</div>
<div class="control-group">
<div class="control-label"><?php echo $this->form->getLabel('name'); ?></div>
<div class="controls"><?php echo $this->form->getInput('name'); ?></div>
</div>
<div class="control-group">
<div class="control-label"><?php echo $this->form->getLabel('state'); ?></div>
<div class="controls"><?php echo $this->form->getInput('state'); ?></div>
</div>
<div class="control-group">
<div class="control-label"><?php echo $this->form->getLabel('time_created'); ?></div>
<div class="controls"><?php echo $this->form->getInput('time_created'); ?></div>
</div>
<div class="control-group">
<div class="control-label"><?php echo $this->form->getLabel('created_by'); ?></div>
<div class="controls"><?php echo $this->form->getInput('created_by'); ?></div>
</div>


</fieldset>
</div>



<input type="hidden" name="task" value="" />
<?php echo JHtml::_('form.token'); ?>

</div>
</form>

如果 html 操作是 index.php/view=addstock&layout=edit

布局编辑调用到哪里?我试图找到我的整个组件,但找不到任何插入 SQL。

我也会展示我的 index.html.php

<?php
/**
* @version 1.0.0
* @package com_astock
* @copyright Copyright (C) 2013. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
* @author Joe <joequah1@hotmail.com> - http://
*/

// No direct access
defined('_JEXEC') or die;

jimport('joomla.application.component.view');

/**
* View to edit
*/
class AStockViewAddstock extends JViewLegacy
{
protected $state;
protected $item;
protected $form;

/**
* Display the view
*/
public function display($tpl = null)
{
$this->state = $this->get('State');
$this->item = $this->get('Item');
$this->form = $this->get('Form');

// Check for errors.
if (count($errors = $this->get('Errors'))) {
throw new Exception(implode("\n", $errors));
}

$this->addToolbar();
parent::display($tpl);
}

/**
* Add the page title and toolbar.
*/
protected function addToolbar()
{
JFactory::getApplication()->input->set('hidemainmenu', true);

$user = JFactory::getUser();
$isNew = ($this->item->stock_code == 0);
if (isset($this->item->checked_out)) {
$checkedOut = !($this->item->checked_out == 0 || $this->item->checked_out == $user->get('stock_code'));
} else {
$checkedOut = false;
}
$canDo = AStockHelper::getActions();

JToolBarHelper::title(JText::_('COM_ASTOCK_TITLE_STOCK'), 'addstock.png');

// If not checked out, can save the item.
if (!$checkedOut && ($canDo->get('core.edit')||($canDo->get('core.create'))))
{

JToolBarHelper::apply('addstock.apply', 'JTOOLBAR_APPLY');
JToolBarHelper::save('addstock.save', 'JTOOLBAR_SAVE');
}
if (!$checkedOut && ($canDo->get('core.create'))){
JToolBarHelper::custom('addstock.save2new', 'save-new.png', 'save-new_f2.png', 'JTOOLBAR_SAVE_AND_NEW', false);
}
// If an existing item, can save to a copy.
if (!$isNew && $canDo->get('core.create')) {
JToolBarHelper::custom('addstock.save2copy', 'save-copy.png', 'save-copy_f2.png', 'JTOOLBAR_SAVE_AS_COPY', false);
}
if (empty($this->item->stock_code)) {
JToolBarHelper::cancel('addstock.cancel', 'JTOOLBAR_CANCEL');
}
else {
JToolBarHelper::cancel('addstock.cancel', 'JTOOLBAR_CLOSE');
}

}
}

最佳答案

您看不到保存代码,因为您的 Controller 和模型扩展了父类。您可以创建自己的公共(public)函数保存在 Controller 和模型中或覆盖它。基本上这是它的工作原理:

  1. 调用 Controller 方法“保存”,验证数据并加载模型。
  2. Controller 调用 Model 并向他传递有效数据。
  3. 模型加载 JTable,它存储数据并返回 true 或 false
  4. 模型返回 bool 值给 Controller
  5. Controller 处理重定向

类位于:图书馆/遗产/ Controller 和图书馆/遗产/模型

关于php - Joomla - 在哪里编辑插入 SQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18999486/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com