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

Ravgus

Новичок
  
  • Публикаций

    6
  • Зарегистрирован

  • Посещение

О Ravgus

  • День рождения 27.06.1996

Информация

  • Пол
    Мужчина
  • Интересы
    php

Достижения Ravgus

Rookie

Rookie (2/14)

  • First Post
  • Week One Done
  • One Month Later
  • One Year In
  • Conversation Starter

Последние медали

0

Репутация

  1. Все вопрос решен, нужно было в контроллере модуля в папке catalog вместо: return $this->response->setOutput($this->load->view('extension/module/price', $data)); написать: return $this->load->view('extension/module/price', $data); Выходит, что первый вариант работает при ссылке на отдельную страницу, а последний при вставке в уже существующую. Еще раз всем спасибо за помощь! Удачи!)
  2. Отлично, проблема решилась после удаления папок myprice, спасибо большое! хотя конечно странно, почему такое влияет на корректность работы модуля. Теперь я добавил данный модуль в макет главной страницы иии.. ничего, данные с него не отображаются, хотя если обратиться по ссылке http://localhost/OpenCart/index.php?route=extension/module/price то все работает (на отдельной странице), какие есть мысли у кого на этот счет?) Пробовал добавлять права на просмотр у группы пользователей Demonstration в админке, но подозреваю это касается только админки
  3. Еще раз все перепроверил: права на просмотр и редактирование у группы администраторов на этот модуль присутствуют. Названия классов, пути в файликах и т.д. вроде бы тоже в норме. Вот такая карта модуля вышла в папке admin: C:\Wamp64\www\OpenCart\admin\controller\extension\module\myprice\price.php C:\Wamp64\www\OpenCart\admin\view\template\extension\module\myprice\price.tpl C:\Wamp64\www\OpenCart\admin\language\ru-ru\extension\module\myprice\price.php Единственное что я раньше не сказал - модуль пишу для ocStore 2.3. Ну я уже не знаю, может регистр в названии класса играет какую-то роль, например не ControllerExtensionModuleMypricePrice а ControllerExtensionModuleMyPricePrice или еще как-то, хотя я сильно в этом сомневаюсь.
  4. странно, я думал папки с файлами можно сразу кидать в корень admin, catalog. Ну ладно я перенес файлы в extension/module, подправил пути в контроллере: <?php class ControllerExtensionModuleMypricePrice extends Controller { private $error = array(); public function index() { $this->load->language('extension/module/myprice/price'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('setting/setting'); if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { $this->model_setting_setting->editSetting('price', $this->request->post); $this->session->data['success'] = $this->language->get('text_success'); $this->response->redirect($this->url->link('extension/extension', 'token=' . $this->session->data['token'] . '&type=module', true)); } $data['heading_title'] = $this->language->get('heading_title'); $data['text_edit'] = $this->language->get('text_edit'); $data['text_enabled'] = $this->language->get('text_enabled'); $data['text_disabled'] = $this->language->get('text_disabled'); $data['entry_status'] = $this->language->get('entry_status'); $data['button_save'] = $this->language->get('button_save'); $data['button_cancel'] = $this->language->get('button_cancel'); if (isset($this->error['warning'])) { $data['error_warning'] = $this->error['warning']; } else { $data['error_warning'] = ''; } $data['breadcrumbs'] = array(); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_extension'), 'href' => $this->url->link('extension/extension', 'token=' . $this->session->data['token'] . '&type=module', true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('heading_title'), 'href' => $this->url->link('extension/module/myprice/price', 'token=' . $this->session->data['token'], true) ); $data['action'] = $this->url->link('extension/module/myprice/price', 'token=' . $this->session->data['token'], true); $data['cancel'] = $this->url->link('extension/extension', 'token=' . $this->session->data['token'] . '&type=module', true); if (isset($this->request->post['price_status'])) { $data['price_status'] = $this->request->post['price_status']; } else { $data['price_status'] = $this->config->get('price_status'); } $data['header'] = $this->load->controller('common/header'); $data['column_left'] = $this->load->controller('common/column_left'); $data['footer'] = $this->load->controller('common/footer'); $this->response->setOutput($this->load->view('extension/module/myprice/price', $data)); } protected function validate() { if (!$this->user->hasPermission('modify', 'extension/module/myprice/price')) { $this->error['warning'] = $this->language->get('error_permission'); } return !$this->error; } } И все равно модуль не отображается, самое интересное, до этого я мог войти в настройки моего модуля через ссылку http://localhost/OpenCart/admin/index.php?route=myprice/price&token=nMtrf3EITO6dOjzLWS18XsG74tZHkcmq, единственное что я не мог его добавить в макет, поскольку его фактически не было в дополнениях. Теперь после изменения пути по запросу http://localhost/OpenCart/admin/index.php?route=extension/module/myprice/price&token=nMtrf3EITO6dOjzLWS18XsG74tZHkcmq мне выдает что доступ запрещен. Что не так?
  5. Подправил, но ничего не изменилось( в админке модуль он не появился
  6. Добрый день! Решил разобраться с тем как создаются модули на ocstore 2, но столкнулся с такой проблемой - мой модуль не отображается в админке в дополнениях. Вроде бы все сделал все что необходимо - создал контроллер, языковой файл, tpl как для админки так и для каталога, проверил на работоспособность через запрос: http://localhost/OpenCart/index.php?route=myprice/price все работает, необходимую инфу выдает, так что тут все вроде норм. Также добавлял в админке админу права на просмотр и редактирования модуля - ничего не изменило. Помогите люди добрые, я уже какой час над этим бьюсь. Прилаживаю файлы для админки. Контроллер: <?php class ControllerMypricePrice extends Controller { private $error = array(); public function index() { $this->load->language('myprice/price'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('setting/setting'); if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { $this->model_setting_setting->editSetting('price', $this->request->post); $this->session->data['success'] = $this->language->get('text_success'); $this->response->redirect($this->url->link('extension/extension', 'token=' . $this->session->data['token'], true)); // } $data['heading_title'] = $this->language->get('heading_title'); $data['text_edit'] = $this->language->get('text_edit'); $data['text_enabled'] = $this->language->get('text_enabled'); $data['text_disabled'] = $this->language->get('text_disabled'); $data['entry_status'] = $this->language->get('entry_status'); $data['button_save'] = $this->language->get('button_save'); $data['button_cancel'] = $this->language->get('button_cancel'); if (isset($this->error['warning'])) { $data['error_warning'] = $this->error['warning']; } else { $data['error_warning'] = ''; } $data['breadcrumbs'] = array(); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_extension'), 'href' => $this->url->link('extension/extension', 'token=' . $this->session->data['token'], true) // ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('heading_title'), 'href' => $this->url->link('myprice/price', 'token=' . $this->session->data['token'], true) ); $data['action'] = $this->url->link('myprice/price', 'token=' . $this->session->data['token'], true); $data['cancel'] = $this->url->link('extension/extension', 'token=' . $this->session->data['token'], true); // if (isset($this->request->post['price_status'])) { $data['price_status'] = $this->request->post['price_status']; } else { $data['price_status'] = $this->config->get('price_status'); } $data['header'] = $this->load->controller('common/header'); $data['column_left'] = $this->load->controller('common/column_left'); $data['footer'] = $this->load->controller('common/footer'); $this->response->setOutput($this->load->view('myprice/price', $data)); } protected function validate() { if (!$this->user->hasPermission('modify', 'myprice/price')) { $this->error['warning'] = $this->language->get('error_permission'); } return !$this->error; } } Lang: <?php // Heading $_['heading_title'] = 'Мой модуль'; // Text $_['text_extension'] = 'Модули'; $_['text_success'] = 'Настройки модуля обновлены!'; $_['text_edit'] = 'Редактирование модуля'; // Entry $_['entry_status'] = 'Статус'; // Error $_['error_permission'] = 'У вас нет прав для управления этим модулем!'; TPL: <?php echo $header; ?><?php echo $column_left; ?> <div id="content"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <button type="submit" form="form-price" data-toggle="tooltip" title="<?php echo $button_save; ?>" class="btn btn-primary"><i class="fa fa-save"></i></button> <a href="<?php echo $cancel; ?>" data-toggle="tooltip" title="<?php echo $button_cancel; ?>" class="btn btn-default"><i class="fa fa-reply"></i></a></div> <h1><?php echo $heading_title; ?></h1> <ul class="breadcrumb"> <?php foreach ($breadcrumbs as $breadcrumb) { ?> <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li> <?php } ?> </ul> </div> </div> <div class="container-fluid"> <?php if ($error_warning) { ?> <div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> <?php echo $error_warning; ?> <button type="button" class="close" data-dismiss="alert">&times;</button> </div> <?php } ?> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"><i class="fa fa-pencil"></i> <?php echo $text_edit; ?></h3> </div> <div class="panel-body"> <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="form-price" class="form-horizontal"> <div class="form-group"> <label class="col-sm-2 control-label" for="input-status"><?php echo $entry_status; ?></label> <div class="col-sm-10"> <select name="price_status" id="input-status" class="form-control"> <?php if ($price_status) { ?> <option value="1" selected="selected"><?php echo $text_enabled; ?></option> <option value="0"><?php echo $text_disabled; ?></option> <?php } else { ?> <option value="1"><?php echo $text_enabled; ?></option> <option value="0" selected="selected"><?php echo $text_disabled; ?></option> <?php } ?> </select> </div> </div> </form> </div> </div> </div> </div> <?php echo $footer; ?>
×
×
  • Создать...

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

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