Я пытаюсь настроить модуль оплаты Opencart, я вижу много мест, где используется информация о конфигурации, но я не могу найти что-нибудь, что создает переменные. Я знаю на страницах администратора, если я выбираю «paypal standard», я могу установить всю информацию «config», но я не могу найти «модель», подчеркивая ее, есть ли модель, я хочу создать новую конфигурационную настройку, устанавливаемую внутри страница администрирования
Какие страницы администратора знают, какие переменные нужно установить? Если я изменю представление «admin» для модуля оплаты, чтобы показать новый параметр, будет ли этот параметр автоматически доступен в каталоге?
пример некоторых используемых данных конфигурации …
admin \ view \ template \ payment \ pp_standard.tpl (шаблон администрирования PayPal), позволяет установить «тестовый режим» ….
<tr> <td><?php echo $entry_test; ?></td> <td><?php if ($pp_standard_test) { ?> <input type="radio" name="pp_standard_test" value="1" checked="checked" /> <?php echo $text_yes; ?> <input type="radio" name="pp_standard_test" value="0" /> <?php echo $text_no; ?> <?php } else { ?> <input type="radio" name="pp_standard_test" value="1" /> <?php echo $text_yes; ?> <input type="radio" name="pp_standard_test" value="0" checked="checked" /> <?php echo $text_no; ?> <?php } ?></td> </tr>
каталог \ controller \ poayment \ pp_standard.php (контроллер каталога PayPal), использует выше «тестовый режим», чтобы определить, какой URL-адрес веб-сервиса PayPal попадет.
if (!$this->config->get('pp_standard_test')) { $curl = curl_init('https://www.paypal.com/cgi-bin/webscr'); } else { $curl = curl_init('https://www.sandbox.paypal.com/cgi-bin/webscr'); }
Я ожидал найти «модель» где-то с «pp_standard_test», определенную где-то, но я ничего не нашел, любая помощь в понимании этого была бы весьма признательна.
PS В Интернете много советов, в которых говорится, что платежный модуль «paypal standard» является хорошим местом для начала, но, скорее всего, мы не будем использовать paypal, это принцип, который я пытаюсь выяснить.
В администрировании OpenCart для таких модулей / расширений используется admin/model/setting/setting.php
в которой store_id
только имя группы ключей и опубликованные данные в таблице setting
DB … (и, необязательно, store_id
в многоэтажной установке)
Вы можете проверить любой контроллер в admin/controller/payment/
dir, чтобы узнать, как используется эта модель ( pp_standard.php
, из строки 10 в OC 1.5.5.1):
$this->load->model('setting/setting'); if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { $this->model_setting_setting->editSetting('pp_standard', $this->request->post); $this->session->data['success'] = $this->language->get('text_success'); $this->redirect($this->url->link('extension/payment', 'token=' . $this->session->data['token'], 'SSL')); }
Это будет записывать все данные формы в таблицу setting
DB, в то время как имя поля формы используется как ключ к значению, заполненному внутри.
Таким образом, если вы звоните
$this->config->get('<KEY>');
Вы можете получить значение, установленное для клавиши <KEY>
.