Перейти к содержанию
baxok

Где почитать общую теорию о работе opencart ?

Рекомендуемые сообщения

Об устройстве движка, используемой схеме модель-вид-контроллер. Как и где и что менять, дорабатывать... Такие мануалы вообще есть на русском языке?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Второй вопрос более конкретный: 

Если я хочу сделать ссылку на главную, я использую конструкцию <a href="<?php echo $home; ?>"><?php echo $text_home; ?></a> для сохранения перевода на английский язык. Как мне получить подобные ссылки для моих информационных статей (о нас, доставка, оплата...) ? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для программиста код OpenCart - открытая книга. Там все просто до безобразия.

Про MVC  написано в Википедии и даже на примере мультиязычности OpenCart

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

За что товарища сверху минусовать стали?

Код действительно очень понятен и приятен.

 

Смотришь route, по нему ищешь папку и файл (контроллер или вьюшку), и редактируешь его под свои нужды. В контроллере можно отследить какие модельки и языковые файлы подключаются.

Еще могут подключаться библиотеки - system/library.

 

Соответственно по второму вопросу - смотри как ссылки задаются в контроллере. Для генерации ссылок используется билиотека url: $this->url->link(параметры).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

За что товарища сверху минусовать стали?

Код действительно очень понятен и приятен.

 

Смотришь route, по нему ищешь папку и файл (контроллер или вьюшку), и редактируешь его под свои нужды. В контроллере можно отследить какие модельки и языковые файлы подключаются.

Еще могут подключаться библиотеки - system/library.

 

Соответственно по второму вопросу - смотри как ссылки задаются в контроллере. Для генерации ссылок используется билиотека url: $this->url->link(параметры).

 

Становится понятнее, спасибо. Расскажи пожалуйста, что такое route. Какой то параметр и передается в адресной строке?

Я пока не программист и читать код как книгу получается с трудом. Второе предложение для меня вообще темный лес, сможешь объяснить на примере? Вот есть у меня ссылка, заданная вручную "http://mydomain.ru/index.php?route=information/information&information_id=4" , каким местом ее к библиотеке прикладывать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Становится понятнее, спасибо. Расскажи пожалуйста, что такое route. Какой то параметр и передается в адресной строке?

Я пока не программист и читать код как книгу получается с трудом. Второе предложение для меня вообще темный лес, сможешь объяснить на примере? Вот есть у меня ссылка, заданная вручную "http://mydomain.ru/index.php?route=information/information&information_id=4" , каким местом ее к библиотеке прикладывать?

Да, route передается в адресной строке. В твоем примере получается, что вызывается контроллер information из папки information. + передается id статьи - information_id=4.

 

Библиотеки подключаются в коде самого контроллера, если они необходимы. Например, если тебе надо в каком-нибудь контроллере получить товары из корзины, то в одной из функций контроллера надо подключать библиотеку Cart. 

 

Кстати, если в route передать еще и третий параметр, то это будет название функции в контроллере, которая должна выполняться (по умолчанию всегда выполняется функция index()): route = information/news/view - папка information, файл news, метод view(). Соответственно в теле функции view() можно написать - $this->load->library('cart'); - подключение библиотеки Cart (Корзина). После чего можно использовать любую из функций, описанных в файле библиотеки Cart.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я тут постигаю азы php, и нужна помощь. Просьба огромная: если нечего сказать по существу, то лучше не пишите ничего. Сам вопрос: помогите разобрать код по строчкам.

			$this->data['images'] = array(); // создаем пустой массив, но с каким именем? Что такое data ?			$results              = $this->model_catalog_record->getRecordImages($this->request->get['record_id']); // создаем переменную и помещаем в нее то (думаю это будет массив), что выдаст нам некая цепочка действий. Что такое this и что за стрелки? 			foreach ($results as $result) { // пробежим по массиву results и на каждой итерации положим в переменную result что то. Что? 				$this->data['images'][] = array( // а вот тут создание еще одного массива внутри массива images. но мне не понятно как это будет работать в цикле, да еще в отношении result?					'popup' => $http_image . $result['image'], // в ячейку с ключом popup поместили строку из 2 склееных переменных. все ясно					'thumb' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_additional_width'), $this->config->get('config_image_additional_height')) // в ячейку поместили ..... ЧТО означают эти стрелки?				);			} 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
$this->data['images'] = array();

$this->data['имя_переменной'] = ...; Таким образом в контроллере инициализируются переменные, которые можно будет использовать во view, что позволит вызывать в шаблоне $имя_переменной

$results = $this->model_catalog_record->getRecordImages($this->request->get['record_id']); 

Стрелочки из ооп. В данном случае код означает, что будет выполнена функция getRecordImages из файла /model/catalog/record.php Кстати, откуда у вас такой файл?

foreach ($results as $result) { 

Здесь обычная обработка элементов массива. С такими вопросами вам нужно читать маны по php по функции foreach. К опенкарту это отношения не имеет

$this->data['images'][] = array( 'popup' => $http_image . $result['image'], 'thumb' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_additional_width'), $this->config->get('config_image_additional_height'))); 

А здесь, как я говорил в начале, мы создаём переменную, которую сможем вызывать во view. В данном случае получится переменная $images, которая будет являться массивом.

Ключи массива  получат имена popup и thumb, первому присваивается адрес папки с картинками+имя картинки, а второму присваивается результат работы функции resize из файла model/tool/image.php 

Массив будет двумерный. Что это значит я объяснять не собираюсь, причина ниже

---

P.S. 

Я тут постигаю азы php, и нужна помощь. 

Вы не туда пришли постигать азы php. Здесь форум разработчиков опенкарта.

Идите на php.su или php.net, или на phpclub.ru

 

  • +1 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.