Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] Проблема с созданием нового контроллера


Recommended Posts

Пытаюсь сделать новый контроллер.

Соответственно создал файл \controller\account\fastorder.php

<?php
class ControllerAccountFastorder extends Controller {
private $error = array();

  public function index() {
 $this->language->load('account/fastorder');
 $this->document->setTitle($this->language->get('heading_title'));

 if (($this->request->server['REQUEST_METHOD'] == 'POST') /*&& $this->validate()*/ &&
  isset($this->request->post['customer_name']) && ($this->request->post['customer_name'] !== "") &&
  isset($this->request->post['customer_phone']) && ($this->request->post['customer_phone'] !== "")) {
$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->hostname = $this->config->get('config_smtp_host');
$mail->username = $this->config->get('config_smtp_username');
$mail->password = $this->config->get('config_smtp_password');
$mail->port = $this->config->get('config_smtp_port');
$mail->timeout = $this->config->get('config_smtp_timeout');  
$mail->setTo($this->config->get('config_email'));
$mail->setFrom($this->config->get('config_email'));
$mail->setSender($this->config->get('config_name'));
	$mail->setSubject(html_entity_decode($this->language->get('email_subject'), ENT_QUOTES, 'UTF-8'));
$mail->setText(strip_tags(html_entity_decode($this->request->post['customer_name'], ENT_QUOTES, 'UTF-8')));
$mail->send();
 } else {
  echo "BAD";
 }
}
}
?>

Однако при вызове я получаю ошибку:

Class 'Controller' not found in /var/www/user270/data/www/diolika.ru/catalog/controller/account/fastorder.php on line 2

Похоже я что-то не понимаю в алгоритмах линковки PHP. Подскажите куда копать, плиз

Надіслати
Поділитися на інших сайтах


вызывать (обращаться к файлу) надо через route

index.php?route=account/fastorder

а вы, похоже, напрямую путь к файлу в ссылке/action формы указали.

  • +1 1
Надіслати
Поділитися на інших сайтах

Спасибо, большое. Помогло.

А не подскажете, где можно почитать/посмотреть (исходник или мануал) как работает этот механизм вызова. Хотелось бы для себя разобраться, почему в вызове через route класс Controller доступен, а напрямую нет

Надіслати
Поділитися на інших сайтах


при обращении через "index.php?route" подключаются все необходимые файлы (классы, необходимые для работы), в то время, как при прямом обращении к файлу - нет.

вам бы ознакомиться с азами:

php :: include / require_once

php :: class

php :: OOP / ООП

MVC / MVC(L)

Надіслати
Поділитися на інших сайтах

Спасибо.

С азами MVC и ООП мне наверно уже знакомиться поздно :), как никак уже 11 лет профессиональный программист (правда далеко не Web). А вот с азами php познакомиться действительно пора

Надіслати
Поділитися на інших сайтах


Поздно знакомиться в том смысле, что с ООП и MVC я уже как 11 лет на короткой ноге :) Пишу на всех вариациях языка Си (от классики до шарпа) и Smalltalk

А вот с php судьба свела впервые, и из-за недостатка времени и несерьезности проекта приходится кодить вслепую, без предварительной теоретической подготовки

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.