картинки появляются чуть позже, когда загрузятся.вот поэтому и путаница получилась)
в-общем, я пришёл к такому варианту, теперь осталось понять куда это положить, чтобы применить глобально
namespace frontend\bootstrap;
use Yii;
use yii\base\BootstrapInterface;
use yii\di\Container;
use yii\widgets\LinkPager;
/**
* @author Maxim Vorozhtsov <myks1992@mail.ru>
*/
class Bootstrap implements BootstrapInterface
{
/**
* @inheritDoc
*/
public function bootstrap($app)
{
/** @var Container $container */
$container = Yii::$container;
$container->set(LinkPager::class, [
'maxButtonCount' => 3,
'prevPageLabel' => Html::img($app->urlManager->createUrl('img/svg/icon-chevrons-left-gray.svg'), ['alt' => 'назад']),
'nextPageLabel' => Html::img($app->urlManager->createUrl('img/svg/icon-chevrons-right-gray.svg'), ['alt' => 'вперёд']),
'firstPageLabel' => Html::img($app->urlManager->createUrl('img/svg/icon-skip-back-gray.svg'), ['alt' => 'начало']),
'lastPageLabel' => Html::img($app->urlManager->createUrl('img/svg/icon-skip-forward-gray.svg'), ['alt' => 'конец']),
]);
}
}
'bootstrap' => [
frontend\bootstrap\Bootstrap::class
],
Пример из представления:Стесняюсь спросить чем Ваш ответ отличается от моего?)) Кроме того пример ещё и дали не правильный. В ответе вроде бы поняли, что и как, но толку не хватило оформить правильно или как?))
echo LinkPager::widget([ 'pagination' => $pagination, 'maxButtonCount' => 7, 'firstPageLabel' => 'Начало', 'lastPageLabel' => 'Конец', ]);
echo LinkPager::widget([
'prevPageLabel' => false,
'nextPageLabel' => false,
'maxButtonCount' => 3,
]);
<?php
declare(strict_types=1);
namespace frontend\bootstrap;
use Yii;
use yii\base\BootstrapInterface;
use yii\di\Container;
use yii\widgets\LinkPager;
/**
* @author Maxim Vorozhtsov <myks1992@mail.ru>
*/
class Bootstrap implements BootstrapInterface
{
/**
* @inheritDoc
*/
public function bootstrap($app)
{
/** @var Container $container */
$container = Yii::$container;
$container->set(LinkPager::class, [
'prevPageLabel' => false,
'nextPageLabel' => false,
'maxButtonCount' => 3,
]);
}
}
'container' => [
'singletons' => [
CheckAccessInterface::class => yii\rbac\DbManager::class,
IdentityInterface::class => function () {
return Yii::$app->user->getIdentity();
},
],
],
'bootstrap' => [
frontend\bootstrap\Bootstrap::class
],
<?php
declare(strict_types=1);
namespace frontend\widgets;
class LinkPager extends \yii\widgets\LinkPager
{
public $prevPageLabel = false;
public $nextPageLabel = false;
public $maxButtonCount = 3;
}
Yii::$container->set('yii\widgets\LinkPager', 'frontend\widgets\LinkPager');
new (),
а через Yii:createObject([...])
. Тогда DI подтянет все зависимости. App\LinkPager::class
наследованный от базового, в нем заменить необходимые настройки и у вас так же будет работать. Это тоже хорошая практика. Нет. Обход ORM это не то что не хороший ход, это совершенно неправильный ход.
Производительность надо поднимать за счет кеширования, индексов, Master-Slave репликации и т.д.
Если проект маленкий, то да. Но в крупном проекте, рушить MCV потому что лень гуглить InnerJoin - так себе затея.
twig в yii отвратителен, да и поддержка IDE нулячая (речь только о связке twig-yii2).