The news module will provided you a basic news system with categories and tags.
For the installation of modules Composer is required.
composer require luyadev/luya-module-news:~1.0.0
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',
]
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
After adding the persmissions to your group you will be able to edit and add new news articles.
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:
<?php
use yii\widgets\LinkPager;
/* @var $this \luya\web\View */
/* @var $provider \yii\data\ActiveDataProvider */
?>
<h2>Latest News Articles</h2>
<?php foreach($provider->models as $item): ?>
<?php /* @var $item \luya\news\models\Article */ ?>
<pre>
<?php print_r($item->toArray()); ?>
</pre>
<p>
<a href="<?= $item->detailUrl; ?>">News Detail Link</a>
</p>
<?php endforeach; ?>
<?= LinkPager::widget(['pagination' => $provider->pagination]); ?>
<?php
/* @var $this \luya\web\View */
/* @var $model \luya\news\models\Article */
?>
<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.