wdmg/yii2-views

System of accounting user views

Installs: 68

Dependents: 1

Suggesters: 0

Security: 0

Stars: 2

Watchers: 3

Forks: 2

Open Issues: 0

Type:yii2-extension

1.0.0 2020-05-13 22:31 UTC

This package is auto-updated.

Last update: 2020-05-21 00:35:55 UTC


README

Progress Github all releases GitHub version Progress GitHub license

Yii2 User views

System of accounting user views

Requirements

  • PHP 5.6 or higher
  • Yii2 v.2.0.35 and newest
  • Yii2 Base module (required)
  • Yii2 Users module (optionaly)

Installation

To install the module, run the following command in the console:

$ composer require "wdmg/yii2-views"

After configure db connection, run the following command in the console:

$ php yii views/init

And select the operation you want to perform:

  1. Apply all module migrations
  2. Revert all module migrations

Migrations

In any case, you can execute the migration and create the initial data, run the following command in the console:

$ php yii migrate --migrationPath=@vendor/wdmg/yii2-views/migrations

Configure

To add a module to the project, add the following data in your configuration file:

'modules' => [
    ...
    'views' => [
        'class' => 'wdmg\views\Module',
        'routePrefix' => 'admin',
        'cacheExpire' => 3600 // hits cache lifetime, `0` - for not use cache
    ],
    ...
],

Usage examples

To accountштп the number of views of an object, use the component method Yii::$app->views-set() module, into which you need to transfer the context and identifier. The same parameters are a condition for unique selection/filtering when receiving a view counter in the method Yii::$app->views-get() of component.

Store and get the views count

<?php
    if ($views = Yii::$app->views) {
        $count = $views->set(
            'page-views', // context (string, human-readable description of the section)
            'site/index', // target of object (string|null, by default is resolved route)
            true // flag, true - for return actualy count of views,
            true // flag, true - for register only unique views
        );
        echo $count;
    }
?>

Only get the count of views

<?php
    if ($views = Yii::$app->views) {
        $count = $views->get(
            'page-views', // context (string, human-readable description of the section)
            'site/index', // target of object (string|null, by default is resolved route)
        );
        echo $count;
    }
?>

Routing

Use the Module::dashboardNavItems() method of the module to generate a navigation items list for NavBar, like this:

<?php
    echo Nav::widget([
    'options' => ['class' => 'navbar-nav navbar-right'],
        'label' => 'Modules',
        'items' => [
            Yii::$app->getModule('views')->dashboardNavItems(),
            ...
        ]
    ]);
?>

Status and version [ready to use]

  • v.1.0.0 - Added component for set/get views counter
  • v.0.0.12 - Update README.md and dependencies
  • v.0.0.11 - Fixed deprecated class declaration
  • v.0.0.10 - Added extra options to composer.json and navbar menu icon
  • v.0.0.9 - Added choice param for non interactive mode