luyadev / luya-module-news
The news module will provided you a basic news system with categories and tags.
Installs: 25 956
Dependents: 1
Suggesters: 0
Security: 0
Stars: 5
Watchers: 5
Forks: 20
Open Issues: 0
Type:luya-module
Requires
- luyadev/luya-module-admin: >=2.0
Requires (Dev)
- luyadev/luya-testsuite: ^2.0
README
News Module
The news module will provided you a basic news system with categories and tags.
Installation
For the installation of modules Composer is required.
composer require luyadev/luya-module-news
Configuration
After installation via Composer include the module to your configuration file within the modules section.
'modules' => [ // ... 'news' => [ 'class' => 'luya\news\frontend\Module', 'useAppViewPath' => false, // When enabled the views will be looked up in the @app/views folder, otherwise the views shipped with the module will be used. ], 'newsadmin' => 'luya\news\admin\Module', ]
Initialization
After successfully installation and configuration run the migrate, import and setup command to initialize the module in your project.
1.) Migrate your database.
./vendor/bin/luya migrate
2.) Import the module and migrations into your LUYA project.
./vendor/bin/luya import
3.) Add the permissions to your group (Under "System -> Groups" in the LUYA admin interface)
You will now be able to edit and add news articles.
With version 2.0 of news module, the admin queue is required in order to switch the visibility of the news based on time, therefore read LUYA Queue or enable:
'modules' => [ 'admin' => [ 'class' => 'luya\admin\Module', // ... 'autoBootstrapQueue' => true, ], //... ]
Example Views
As the module will try to render a view for the news overview, here is what this could look like this in a very basic way:
views/news/default/index.php
<?php use yii\widgets\LinkPager; /** @var \luya\web\View $this */ /** @var \yii\data\ActiveDataProvider $provider */ ?> <h2>Latest News Articles</h2> <?php foreach($provider->models as $item): ?> <?php /** @var \luya\news\models\Article $item */ ?> <pre> <?php print_r($item->toArray()); ?> </pre> <p> <a href="<?= $item->detailUrl; ?>">News Detail Link</a> </p> <?php endforeach; ?> <?= LinkPager::widget(['pagination' => $provider->pagination]); ?>
views/news/default/detail.php
<?php /** @var \luya\web\View $this */ /** @var \luya\news\models\Article $model */ ?> <h1><?= $model->title; ?></h1> <pre> <?php print_r($model->toArray()); ?> </pre>
The above examples will just dump all the data from the model active records.