Створення модуля в yii2

За пошуковим роботам:
Вибір потрібних даних здійснюється за допомогою форм:

Згідно з документацією. модулі - це закінчені програмні блоки, що складаються з моделей, уявлень, контролерів та інших допоміжних компонентів, які знаходяться всередині додатків. Тобто, створення модуля в yii2 схоже на створення окремого сайту, тому що складається з таких же компонентів.
Приступимо до створення модуля статистики.
Необхідно створити 2 таблиці в базі даних MySql в одній з яких буде зберігатися інформація по людям відвідав сайт, в інший по пошуковим роботам.
Для автоматичного створення таблиць використовуємо механізм міграцій. Створення порожнього файлу міграції - виконати в консолі перебуваючи в корені сайту:
Створиться файл в папці console \ migrations куди вставити:
при цьому назва класу виправити на те, яке вийшло при створенні файлу міграції (назва файлу).
Далі створюємо папки і файли модуля. Для цього в першу чергу використовуємо GII генератор модулів:

Кожен модуль оголошується за допомогою класу, який успадковується від yii \ base \ Module. Цей клас повинен бути поміщений в корені модуля і підтримувати автозавантаження (тобто розміщуватися в окремому файлі з відповідною назвою, із зазначенням простору імен).
Після генерації модуля, з'явиться такий файл в папці statistics - StatModule.php з вмістом:
Так само автоматично створиться файл контролера - statistics \ controllers \ DefaultController.php. Перейменуємо його у StatController.php і заповнимо:
Тут у нас єдина дія, яка буде отримувати дані з форм методом Post і передавати їх до відповідних моделі. Далі дані, після обробки моделями передаються в вид index.php. Даний файл виду (подання) так само сгеніріруется автоматично (statistics \ views \ default \ index.php).
Модулі можуть мати так же і свій шаблон для файлів видів (файл main.php в папці layouts), але я вирішив використовувати стандартний шаблон для видів frontend, який підключиться сам. Якщо захочете створити окремий шаблон, то вкажіть в в config \ main.php в масиві "statistics":
Після цього можете створювати окремий шаблон модуля, файл common \ modules \ statistics \ views \ layouts \ main.php
Заповнимо файл виду index.php:
На початку файлу, рядком
ми реєструємо файл підключає ресурси, в нашому випадку файл зі стилями.
У поданні багато форм, які передають дані в наш контролер. Там, де запитується дати - підключений віджет DatePicker. для зручного вибору дати на спливаючому календарі.
Висновок таблиці статистики по роботам і робота з чорним списком IP зроблені з використанням PJAX (без перезавантаження сторінки).
Висновок таблиці статистики я виніс в окремий файл, підключаємо його кодом:
Файл default.php створюємо в папці з видами modules \ statistics \ views \ stat
IP виводимо в вигляді посилання на сервіс speed-tester.info, який дозволяє дізнатися інформацію по переданому в GET параметрі IP, а саме - його місцезнаходження.
Як писалося вище, підключення ресурсів (файлу стилів) я виніс в файл Asset. Створимо його. Для цього створюємо в кореневій папці модуля (statistics) папку assets, а в ній файл StatAsset.php.
У змінній $ sourcePath вказуємо шлях до файлів ресурсів. @moduleStat - це алиас шляху, який створимо пізніше. Ресурси для модуля будемо розміщувати в звичному місці - папці web в корені самого модуля. В даному файлі підключаємо файл style_ip.css. який розміщуємо в папці css. Додамо в нього:
Залишилося створити основний функціонал - моделі модуля. Для цього так само скористаємося Gii генератором


Коригуємо з'явилися файли.
Файл Count.php:
Файл Bot.php:
Залишилося створити клас працює з потрібними методами моделей Count і Bot для підрахунку статистики. Назвемо файл CountKsl.php і розмістимо в корені модуля на одному рівні з його головним файлом StatModule.php.
Потрібен сайт? Бажаєте запропонувати співпрацю? Звертайтеся - контакти.
Процес виведення сторінки в OpenCart згідно отриманого URL.
Порядок виведення сторінки згідно URL, після завантаження необхідних бібліотек OpenCart 2+
OpenCart 2+ опис процесу завантаження програми.
Етапи завантаження конфігурації OpenCart версії 2+ Від точки входу до підключення потрібних бібліотек.
Швидкий експорт / імпорт бази даних MySQL для Yii2
Багатомовний сайт на Yii2.
Описано процес створення мультимовного сайту на php-фреймворку Yii2. Організовано переклад окремих фраз, статичних сторінок і контенту одержуваного з БД. URL сторінки містить мітку поточного мови.
Здравствуйте! По 1-му пункту - якщо сторінка перезавантажується, то значить pjax не працює. Спробуйте дію actionSubscription змінити таким чином: public function actionSubscription () Шукав по всьому коду і так і не знайшов де задається, що спочатку викликати контролер footer, а потім header, для чого це зроблено зрозуміло, щоб додавати підключення скриптів і стілейможет ви. Для показу цього елементу вам необхідно встановити FlashPlayer та включити в броузері Java Script.