С 9:00 до 21:00 Без выходных

Модуль Автосортировка материалов OpenCart 3.0.3.9

Структура файлов модуля:

pgsql
upload/ └── admin/ └── controller/ └── extension/ └── module/ └── autosort.php └── language/ └── ru-ru/ └── extension/ └── module/ └── autosort.php └── view/ └── template/ └── extension/ └── module/ └── autosort.twig install.xml README.txt

Содержимое файлов:

1. admin/controller/extension/module/autosort.php

php
<?php class ControllerExtensionModuleAutoSort extends Controller { private $error = array(); public function index() { $this->load->language('extension/module/autosort'); $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('autosort', $this->request->post); $this->session->data['success'] = $this->language->get('text_success'); $this->response->redirect($this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=module', true)); } $data['heading_title'] = $this->language->get('heading_title'); $data['text_edit'] = $this->language->get('text_edit'); $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', 'user_token=' . $this->session->data['user_token'], true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_extension'), 'href' => $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=module', true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('heading_title'), 'href' => $this->url->link('extension/module/autosort', 'user_token=' . $this->session->data['user_token'], true) ); $data['action'] = $this->url->link('extension/module/autosort', 'user_token=' . $this->session->data['user_token'], true); $data['cancel'] = $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=module', true); if (isset($this->request->post['autosort_status'])) { $data['autosort_status'] = $this->request->post['autosort_status']; } else { $data['autosort_status'] = $this->config->get('autosort_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/autosort', $data)); } protected function validate() { if (!$this->user->hasPermission('modify', 'extension/module/autosort')) { $this->error['warning'] = $this->language->get('error_permission'); } return !$this->error; } }

2. admin/language/ru-ru/extension/module/autosort.php

php
<?php // Heading $_['heading_title'] = 'Автосортировка Статей'; // Text $_['text_extension'] = 'Расширения'; $_['text_success'] = 'Настройки успешно изменены!'; $_['text_edit'] = 'Редактировать модуль Автосортировки'; // Entry $_['entry_status'] = 'Статус'; // Error $_['error_permission'] = 'У вас нет прав для изменения модуля Автосортировки!';

3. admin/view/template/extension/module/autosort.twig

twig
{{ header }} {{ column_left }} <div id="content"> <div class="page-header"> <div class="container-fluid"> <h1>{{ heading_title }}</h1> <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> </div> </div> <div class="container-fluid"> {% if error_warning %} <div class="alert alert-danger alert-dismissible"><i class="fa fa-exclamation-circle"></i> {{ error_warning }} <button type="button" class="close" data-dismiss="alert">&times;</button> </div> {% endif %} <div class="card"> <div class="card-header"><i class="fa fa-pencil"></i> {{ text_edit }}</div> <div class="card-body"> <form action="{{ action }}" method="post" enctype="multipart/form-data" id="form-autosort" class="form-horizontal"> <div class="form-group row"> <label class="col-sm-2 control-label" for="input-status">{{ entry_status }}</label> <div class="col-sm-10"> <select name="autosort_status" id="input-status" class="form-control"> <option value="1" {% if autosort_status %} selected="selected" {% endif %}>{{ text_enabled }}</option> <option value="0" {% if not autosort_status %} selected="selected" {% endif %}>{{ text_disabled }}</option> </select> </div> </div> <div class="form-group row"> <div class="col-sm-10 offset-sm-2"> <button type="submit" class="btn btn-primary"><i class="fa fa-save"></i> {{ button_save }}</button> <a href="{{ cancel }}" class="btn btn-light"><i class="fa fa-reply"></i> {{ button_cancel }}</a> </div> </div> </form> </div> </div> </div> </div> {{ footer }}

4. install.xml (для OCMOD)

xml
<modification> <name>AutoSort Order for Information Pages</name> <code>autosort_information</code> <version>1.0</version> <author>CustomGPT</author> <link>https://yourdomain.example</link> <file path="admin/controller/catalog/information.php"> <operation> <search><![CDATA[$this->load->model('catalog/information');]]></search> <add position="after"><![CDATA[ $this->load->model('extension/module/autosort'); ]]></add> </operation> </file> </modification>
Плюс README.txt

Автосортировка материалов OpenCart 3.0.3.9

Установка:
1. Загрузить архив через "Установка расширений" -> "Загрузить OCMOD".
2. После установки активировать модуль через "Модули/Расширения".
3. Использовать в админке при добавлении и редактировании информационных страниц.