Yii2如何使用Html::tag或Html::beginTag

Yii2如何使用Html::tag或Html::beginTag,html,yii2,carousel,Html,Yii2,Carousel,我想这样回应 <li> <img src="img/h4-slide.png" alt="Slide"> <div class="caption-group"> <h2 class="caption title">some_title </h2> <h4 class="caption su

我想这样回应

<li>
    <img src="img/h4-slide.png" alt="Slide">
        <div class="caption-group">
            <h2 class="caption title">some_title
                        </h2>
                        <h4 class="caption subtitle">Dual SIM</h4>
                        <a class="caption button-radius" href="some_route"><span class="icon"></span>check</a>
    </div>
</li>
  • 一些书名 双卡
  • 下面是渲染图像旋转木马的代码:

    $slides = [];
    foreach (Slide::find()->orderBy('sortOrder')->all() as $slide) {
        /** @var $slide common\models\Slide */
        $slides[] = [
            'content' => Html::img(Yii::$app->urlManager->baseUrl . '/uploads/slide/' . $slide->id . '.jpg'),
            'caption' => Html::tag('content-group', $slide->title)."<br>".$slide->body,
        ];
    
    }
    
    <div class="slider-area">
      <div class="block-slider block-slider4">
    <?= Carousel::widget([
        'id' => 'bxlider-home',
        'items' => $slides,
        'options' => [
            'class' => 'slide',
            'data-interval' => 3000,
        ],
        'controls' => [
            '<span class="bx-next fa fa-angle-left"></span>',
            '<span class="bx-prev fa fa-angle-right"></span>',
        ],
    ]) ?>
        </div>
    </div>
    
    $slides=[];
    foreach(Slide::find()->orderBy('sortOrder')->all()作为$Slide){
    /**@var$slide-common\models\slide*/
    $slides[]=[
    'content'=>Html::img(Yii::$app->urlManager->baseUrl./uploads/slide/.$slide->id..jpg'),
    'caption'=>Html::tag('content-group',$slide->title)。“
    ”$slide->body, ]; }
    还有我的旋转木马:

    $slides = [];
    foreach (Slide::find()->orderBy('sortOrder')->all() as $slide) {
        /** @var $slide common\models\Slide */
        $slides[] = [
            'content' => Html::img(Yii::$app->urlManager->baseUrl . '/uploads/slide/' . $slide->id . '.jpg'),
            'caption' => Html::tag('content-group', $slide->title)."<br>".$slide->body,
        ];
    
    }
    
    <div class="slider-area">
      <div class="block-slider block-slider4">
    <?= Carousel::widget([
        'id' => 'bxlider-home',
        'items' => $slides,
        'options' => [
            'class' => 'slide',
            'data-interval' => 3000,
        ],
        'controls' => [
            '<span class="bx-next fa fa-angle-left"></span>',
            '<span class="bx-prev fa fa-angle-right"></span>',
        ],
    ]) ?>
        </div>
    </div>
    
    
    
    我认为最好创建新的部分文件

  • 创建一个名为
    \u slider.php的新文件
  • 在滑块的配置内部调用
    $this->render(“U滑块”)
    。请检查下面的代码

    $slides = [];
    foreach (Slide::find()->orderBy('sortOrder')->all() as $slide) {
    /** @var $slide common\models\Slide */
    $slides[] = [
    'content' => $this->render("_slider"),
    'caption' => Html::tag('content-group', $slide->title)."<br>".$slide->body,
    ];
    
    $slides=[];
    foreach(Slide::find()->orderBy('sortOrder')->all()作为$Slide){
    /**@var$slide-common\models\slide*/
    $slides[]=[
    “内容”=>$this->render(“U滑块”),
    'caption'=>Html::tag('content-group',$slide->title)。“
    ”$slide->body, ];
  • }

    现在,您可以轻松地在
    \u slider.php中编写
    html
    。不需要使用
    Html::beginTag()
    等生成标记

    生成标记的代码如下所示:

    <?= Html::tag('p', Html::encode($user->name), ['class' => 'username']) ?>
    <p class="username">samdark</p>
    
    
    $options = ['class' => ['btn', 'btn-default']];
    
    echo Html::tag('div', 'Save', $options);
    // renders '<div class="btn btn-default">Save</div>'
    
    
    samdark

    $options=['class'=>['btn','btn default']]; echo Html::tag('div','Save',$options); //呈现“保存”
    超链接:

    <?= Html::a('Profile', ['user/view', 'id' => $id], ['class' => 'profile-link']) ?>
    
    
    
    图像:

    <?= Html::img('@web/images/logo.png', ['alt' => 'My logo']) ?>
    
    generates
    
    <img src="http://example.com/images/logo.png" alt="My logo" />
    
    
    产生
    
    清单:

    <?= Html::ul($posts, ['item' => function($item, $index) {
        return Html::tag(
            'li',
            $this->render('post', ['item' => $item]),
            ['class' => 'post']
        );
    }]) ?>
    
    
    
    甚至更多?

    我只想用标记html锚定标题和正文,我认为图像是合适的。谢谢你的回答,我会尽快尝试