Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


baxok
 Поделиться

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

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

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


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

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

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


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

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

 

Смотришь 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 и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.