Jump to content
Sign in to follow this  
baxok

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

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

  • +1 1

Share this post


Link to post
Share on other sites

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

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

 

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

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

 

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

Share this post


Link to post
Share on other sites

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

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

 

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

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

 

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

 

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

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

Share this post


Link to post
Share on other sites

Становится понятнее, спасибо. Расскажи пожалуйста, что такое 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.

Share this post


Link to post
Share on other sites

Я тут постигаю азы 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')) // в ячейку поместили ..... ЧТО означают эти стрелки?				);			} 

Share this post


Link to post
Share on other sites
$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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.