Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Ravgus

Newbie
  
  • Posts

    6
  • Joined

  • Last visited

About Ravgus

  • Birthday 06/27/1996

Information

  • Gender
    Мужчина
  • Interests
    php

Ravgus's Achievements

Rookie

Rookie (2/14)

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

Recent Badges

0

Reputation

  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; ?>
×
×
  • Create New...

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.