Подключение модели

0 Пользователей и 1 Гость просматривают эту тему.
  • 2 Ответов
  • 302 Просмотров
*

Ildan37

  • Захожу иногда
  • **
  • 14
  • 0
Подключение модели
« : 14.11.2015, 13:53:08 »
Здравствуйте, пытаюсь подключить модель в контроллере фронт-енд части.
Контроллер /controllers/add.php
Код: php
class ReviewsControllerAdd extends JControllerForm
{
  public function Add()
  {
   
   /* if($_FILES['picture']['size']>1024*1024*2)
    {
       $app = JFactory::getApplication();
       $app->redirect(JRoute::_('/component/reviews/'));
       exit;
    }
    // Проверяем загружен ли файл
   if(is_uploaded_file($_FILES["picture"]["tmp_name"]))
   {
      // Если файл загружен успешно, перемещаем его
      // из временной директории в конечную
      if (move_uploaded_file($_FILES['picture']['tmp_name'], JPATH_SITE."/media/com_reviews/images/".$_FILES['picture']['name'])) {
       //Обработка изображения после загрузки
       $image = new JImage( JPATH_SITE."/media/com_reviews/images/".$_FILES['picture']['name'] );
       $image->resize(200, 200, false, JImage::SCALE_FILL );
   
       $image->toFile(JPATH_SITE."/media/com_reviews/images/".$_FILES['picture']['name']);
       } else {
      echo "Возможная атака с помощью файловой загрузки!\n";
       }
   }*/
   
   $modelName = 'reviews';
   $model = $this->getModel($modelName);
    echo $modelName;
 
   $model->AddReview();
       
   exit;       
  }
}
Файл модели /models/reviews.php
Код: php
class ReviewsModelReviews extends JModelList
{
//Функция её мы будем выводит в виде.
function getReview()
{
//Подключение к бд Joomla
$db = $this->getDbo();

//Выбираем из какой таблицы будем вытаскивать данные ORDER BY review_id это порядок отображения данных этим займёмся в админ панеле.
$query = 'SELECT * FROM #__reviews ORDER BY review_id';
$db->setQuery($query);
$row = $db->loadObjectlist();
     //вернуть row
     return $row;

}

}

 function AddReview()
 {
    echo "Hello world";
    die();
    // Создайте новый объект запроса.
    $db = $this->getDbo();
    $query = $db->getQuery(true);
   
    $query->select('MAX('.$db->quoteName('review_id').')');
    $query->from($db->quoteName('#__reviews'));
    $db->setQuery($query);
    $id = $db->loadResult();
       
    //берем полученные данные
    $input = JFactory::getApplication()->input;
    $image = 'img-'.$id;
    $phone = $input->getString('phone', '');
    $name = $input->getString('name', '');
    $text = $input->getString('text', '');
    $day = date('Y-m-d');
       
     //Поля для вставки.
     $columns = array('review_name_person', 'review_phone', 'review_text', 'review_image', 'review_date', 'review_published');
 
     //Значения для вставки.
      $values = array($name, $phone, $text, $image, $day, 1);
 
      // Составление запроса и вставка.
     $query
    ->insert($db->quoteName('#__reviews'))
    ->columns($db->quoteName($columns))
    ->values(implode(',', $values));
 
     $db->setQuery($query);
       
     $result = $db->loadResult();
       
     $db->execute();
 
      //возврощаем резалт
      echo json_encode($result);
 }

Точка входа
Код: php
defined('_JEXEC') or die;

//Создание класса компонента
$controller = JControllerLegacy::getInstance('Reviews');
//Выполнить задачу запроса
$controller->execute(JRequest::getCmd('task'));
//Переадресация
$controller->redirect();
Хочу только что бы вывел Hello world.
« Последнее редактирование: 14.11.2015, 19:51:21 от Ildan37 »

*

SmokerMan

  • Профи
  • ********
  • 5329
  • 689
Re: Подключение модели
« Ответ #1 : 14.11.2015, 15:53:28 »
при task="add.add" должно выводить
и в контроллере я класса не увидел)
« Последнее редактирование: 14.11.2015, 15:57:15 от SmokerMan »

*

Ildan37

  • Захожу иногда
  • **
  • 14
  • 0
Re: Подключение модели
« Ответ #2 : 14.11.2015, 16:24:02 »
при task="add.add" должно выводить
и в контроллере я класса не увидел)
Добавил класс