当前位置: 首页 > 知识库问答 >
问题:

创建组件时如何正确添加任务/操作

缪志新
2023-03-14

我正在为Joomla 2.5的后端做我的第一个组件。第一部分是确定的,我用通用控制器创建了一个组件,现在我显示了表中的所有元素

为此,我遵循了本教程,但现在我想添加编辑、新建和删除等操作。我遵循这个教程,但当我点击编辑,例如。我翻到白页。我的name组件是Busqueda,我的表是餐馆

这是用于编辑动作模型/restaurante.php的模型

class BusquedaModelRestaurante extends JModelAdmin{

    public function getTable($type= 'Restaurantes', $prefix='RestaurantesTable', $config=array()){
            return JTable::getInstance($type, $prefix, $config);
    }

    public function getForm($data = array(), $loadData = true){
        $form = $this->loadForm('com_busqueda.restaurante', 'restaurante', array('control' => 'jform', 'load_data' => $loadData));
        if (empty($form)) {
            return false;
        }
        return $form;
    }

    protected function loadFormData(){
        $data= JFactory::getApplication()->getUserState('com_busqueda.edit.restaurante.data', array());
        if(empty($data)){
            $data=$this->getItem();
        }
        return $data;
    }
}

这是我的模型/表格/表格。xml

<?xml version="1.0" encoding="utf-8"?>
<form>
    <fieldset>
        <field
            name="id"
            type="hidden"
        />
        <field name="nombre" type="text" class="inputbox"
            size="40" label="nombre"
            description="Nombre" />

        <field name="direccion" type="text" class="inputbox"
            size="40" label="direccion"
            description="Direccion" />

        ...

    </fieldset>
</form>

在控制器/我有餐厅。php和餐馆。php。最后一个没有任何功能。最后在视图/餐厅中,我有了视图。html和views/restaurant/tmpl/edit。php。

观点是:

class BusquedaViewRestaurante extends JView
{
    public function display($tpl = null)
    {
        $form = $this->get('Form');
        $item = $this->get('Item');

        // Check for errors.
        if (count($errors = $this->get('Errors'))) {
            JError::raiseError(500, implode("\n", $errors));
            return false;
        }

        $this->form =$form;
        $this->item =$item;

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

    /**
     * Add the page title and toolbar.
     *
     * @since   1.6
     */
    protected function addToolbar()
    {
        $input =JFactory::getApplication()->input;
        $input->set('hidemainmenu', true);
        $isNew = ($this->item->id == 0);
        JToolBarHelper::title($isNew ? JText::_('NEW')
                                     : JText::_('EDIT'));
        JToolBarHelper::save('busqueda.save');
        JToolBarHelper::cancel('busqueda.cancel', $isNew ? 'JTOOLBAR_CANCEL'
                                                         : 'JTOOLBAR_CLOSE');               
    }
}

在edit.php

<form action="<?php echo JRoute::_('index.php?option=com_busqueda&layout=edit&id='.(int) $this->item->id); ?>" method="post" name="adminForm" id="restaurante-form" class="form-validate">
    <fieldset class="adminform">
        <legend><?php echo JText::_('DETALLES'); ?></legend>
        <ul class="adminformlist">
            <li><?php echo $this->form->getLabel('nombre'); ?>
            <?php echo $this->form->getInput('nombre'); ?></li>

            <li><?php echo $this->form->getLabel('direccion'); ?>
            <?php echo $this->form->getInput('direccion'); ?></li>

....


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

</form>

这与教程中显示的相同,但当我单击“编辑”时,会看到一个白色页面。

任何想法。我忘了做点什么。

谢谢

共有1个答案

方焱
2023-03-14

要查看可能出现的问题,需要在php中启用php错误日志记录。伊尼。当php xml包过时时,我遇到了这个问题。在php中。ini您可能需要添加/取消注释这些行

php_flagdisplay_errorsphp_valueerror_reporting6143

php_flaglog_errorsphp_valueerror_log /Some_path/PHP_errors.log

 类似资料:
  • 这就是我所拥有的理想构建脚本: 我确实想手动执行任务“unzip_natives_os”。但它似乎只在配置阶段起作用。当我用这个设置进行测试运行时,它会给我一个错误:“java.lang.UnsatifiedLinkError”,但是如果我在dependencies块中将配置从“NativeSos”更改为“RuntimeOnly”,它就能正常工作。我是否必须显式地创建这个“ApplicationD

  • 问题内容: 我正在尝试将Integer数组添加到Set中,如下所示: 我收到以下错误提示, 其次,我也尝试按照以下步骤进行操作,但仍然出现错误, 如何在Java中正确地将Integer数组添加到Set中?谢谢。 问题答案: 您需要使用包装器类型才能使用 或 手动添加元素,例如 最后,如果您需要保留插入顺序,则可以使用。

  • 在ansible中创建一个“newuser”任务,其中一个任务是将newuser添加到许多ldap组中。我得到了一个无效的语法错误,不清楚我的语法是如何或为什么错误的(这似乎是LDAP语法问题,而不是Python/Ansible语法)。 我可以从命令行使用ldapmodify添加成员,但不能添加ansible任务。 从命令行成功添加的示例: 试图使用ansible任务: ansible中的错误是:

  • 问题内容: 我正在尝试使用Python 3的相对较新的模块正确理解和实现两个同时运行的对象。 简而言之,asyncio似乎旨在处理事件循环中的异步过程和并发执行。它促进了(应用于异步函数中)作为无回调方式等待和使用结果的使用,而不会阻塞事件循环。(期货和回调仍然是可行的选择。) 它还提供了该类,该类 是用于包装协程的专门子类。最好通过使用该方法来调用。异步任务的预期用途是允许独立运行的任务与同一事

  • 我正在尝试将一个值设置为MDC,以便在有日志的情况下显示在每个日志行中。如果kafka producer中有info(“”),那么日志就不会显示我之前为MDC添加的值。 我有一个拦截器来为correlationId设置“默认值” 我设置了 MDC 相关 Id 值,当它进入控制器时。 仅用于Kafka日志不包括之前添加的 MDC 消息 2022-06-08 10:15:31.616 INFO { c

  • 我希望有人能帮我解决以下问题。我正在创建一个Java桌面应用程序,其中有一个包含两个JPanel的JPanel topicPanel;TopicButton面板包含JButton createEntryButton和topicTabCardsPanel,后者实现CardLayout。单击createEntryButton时,我试图动态创建并添加一个新的JPanel entryPanel,其中包含J