ul>li>a
, нужно получить только a
.<?php declare(strict_types=1);
namespace app\widgets;
use yii\helpers\ArrayHelper;
use yii\helpers\Html;
use \yii\widgets\LinkPager as DefaultLinkPager;
class CustomLinkPager extends DefaultLinkPager
{
}
renderPageButton
и renderPageButtons
. В них по факту мне нужно поменять:$linkWrapTag = ArrayHelper::remove($options, 'tag', 'li');
на $linkWrapTag = ArrayHelper::remove($options, 'tag');
renderPageButtons
) сделать тоже самое.renderPageButton
у меня получилось провернуть такую операцию:protected function renderPageButton($label, $page, $class, $disabled, $active): string
{
parent::renderPageButton($label, $page, $class, $disabled, $active);
$options = $this->linkContainerOptions;
$linkWrapTag = ArrayHelper::remove($options, 'tag');
$linkOptions = $this->linkOptions;
$linkOptions['data-page'] = $page;
return Html::tag($linkWrapTag, Html::a($label, $this->pagination->createUrl($page), $linkOptions), $options);
}
renderPageButtons
у меня никак не выходит. Не пойму как оформить правильно. <div class="nav-links">
<span class="page-numbers current">1</span>
<a class="page-numbers" href="#">2</a>
<a class="page-numbers" href="#">3</a>
<a class="page-numbers" href="#">4</a>
<a class="page-numbers" href="#">5</a>
<a class="page-numbers" href="#"><i class="fa fa-angle-right" aria-hidden="true"></i></a>
</div>
renderPageButtons()
скопипастил, а повесить класс на оставшиеся <a>
можно без копирования родительского тега? Есть какой-нибудь функционал, не знаете? linkContainerOptions
Добавить стили которые в divlinkOptions
Добавить стили которые в tag a .current
ArrayHelper::remove
, а внести корректировки, при формирование. В целом добился чего хотел:protected function renderPageButton($label, $page, $class, $disabled, $active): string
{
$options = ['class' => 'page-numbers'];
array_merge($options, $this->linkContainerOptions);
Html::addCssClass($options, empty($class) ? $this->pageCssClass : $class);
if ($active) {
Html::addCssClass($options, $this->activePageCssClass);
}
if ($disabled) {
Html::addCssClass($options, $this->disabledPageCssClass);
$disabledItemOptions = $this->disabledListItemSubTagOptions;
$tag = ArrayHelper::remove($disabledItemOptions, 'tag', 'span');
$merge = array_merge($disabledItemOptions, $options);
return Html::tag($tag, $label, $merge);
}
$linkOptions = $this->linkOptions;
$linkOptions['data-page'] = $page;
$merge = array_merge($linkOptions,$options);
return Html::a($label, $this->pagination->createUrl($page), $merge);
}
array_merge($options, $this->linkContainerOptions);
$merge = array_merge($disabledItemOptions, $options);
$merge = array_merge($disabledItemOptions, $options);
public $maxButtonCount = 5;
public $activePageCssClass = 'current';
public $prevPageCssClass = 'begin_el';
public $nextPageCssClass = 'last_el';
ArrayHelper::merge