Удаление записи из базы пользователем

Тема в разделе "Создание расширений для Joomla", создана пользователем jafff, 13.06.2011.

  1. Offline

    jafff Недавно здесь

    Регистрация:
    22.06.2007
    Сообщения:
    7
    Симпатии:
    0
    Пол:
    Мужской
    Подскажите что делаю нетак.
    com_shop/views/shop/tmpl/default.php
    <a href="http://domen.ru/index.php/shop?view=shop&task=delete&id=6">DEL</a> // тут неважно каким способом но ссылка такая формируется, соответственно id тоже берется какой нужен. Плюс еще нужен наверна ID пользователя, но это потом.

    com_shop/models/shop.php
    class ShopModelShop extends JModel
    {
    function delete( $id )
    {
    $query = 'DELETE FROM #__shop WHERE id = '.$id;
    $this->_db->SetQuery( $query );

    if (!$this->_db->query()) {
    JError::raiseError( 500, $this->_db->getErrorMsg() );
    return false;
    }
    return true;
    }
    }

    com_shop/controller.php
    class ShopController extends JController
    {
    function __construct()
    {
    parent::__construct();
    $this->registerTask('delete','delete');
    }
    function delete()
    {
    $model = $this->getModel('edit');
    $post = JRequest::get( 'get' );
    $id = $post['id'];

    if ( $model->delete( $post['id'] ) ) $msg = JText::_( 'AD DELETED');
    else
    $msg = JText::_( 'ERROR WHILE DELETING AD');

    $this->show();
    }
    function show()
    {
    parent::display();
    }
    function display()
    {
    parent::display();
    }
    }
    ?>

    При нажатии на ссылку запись не удаляется , ошибок не выдает, подскажите что сделал нетак, делал по примеру другого компонента, возпожно написан бред, сильно не пинайте только начинаю изучать...
     
  2.  
  3. Offline

    Aleksej Gordejev Недавно здесь

    Регистрация:
    17.04.2010
    Сообщения:
    15
    Симпатии:
    4
    Пол:
    Мужской
    Если я все правильно понимаю, то
    у тебя модель называется " Shop "
    class ShopModelShop extends JModel

    а вызываешь " edit "
    $model = $this->getModel('edit');
    надо
    $model = $this->getModel('shop');
     
  4. Offline

    jafff Недавно здесь

    Регистрация:
    22.06.2007
    Сообщения:
    7
    Симпатии:
    0
    Пол:
    Мужской
    А точно, может быть, но нашел другой способ :)

    function delete()
    {
    $post = JRequest::get( 'get' );
    $id = $post['id'];

    JTable::addIncludePath(JPATH_ADMINISTRATOR.DS.'components'.DS.'com_shop'.DS.'tables');
    $row = &JTable::getInstance('shop', 'Table');
    $row->delete($id);
    if ($row->delete($id) )
    $msg = JText::_( 'AD DELETED');
    else
    $msg = JText::_( 'ERROR WHILE DELETING AD');

    $this->setRedirect( 'index.php?option=com_shop&view=shop', $msg );
    }
     

Поделиться этой страницей

Загрузка...