web-dev-qa-db-fra.com

Yii2 comment mapper une balise d'ancrage HTML sur une balise yii2 html :: a ()

Salut les gars, j'apprends yii2 pour l'un de mes produits webapp . Je convertis le code existant en format de code hii yii2 et je rencontre un problème en convertissant les éléments suivants: 

<a href="grid_options.html">
<div>
  <i class="fa fa-upload fa-fw"></i> Server Rebooted
  <span class="pull-right text-muted small">4 minutes ago</span>
  </div>
</a>

aidez-moi les gars si quelqu'un a une solution pour ce qui précède ??????

8
Shaggie

Outre la réponse de ALi qui est totalement valide, vous pouvez également écrire

use yii\helpers\Url;

    <a href="<?= Url::to('LINK')?>">
    <div>
      <i class="fa fa-upload fa-fw"></i> Server Rebooted
      <span class="pull-right text-muted small">4 minutes ago</span>
      </div>
    </a>
8
Mihai P.

Le code suivant génère votre code HTML souhaité:

\yii\helpers\Html::a(\yii\helpers\Html::tag('div',
                     \yii\helpers\Html::tag('i', '', ['class' => 'fa fa-upload fa-fw']) . 'Server Rebooted' .
                     \yii\helpers\Html::tag('span', '4 minutes ago', ['class' => 'pull-right text-muted small'])
                  ), \yii\helpers\Url::to('address'));

Pour avoir un code plus clair:

use yii\helpers\Html;
use yii\helpers\Url;

Html::a(Html::tag('div',
        Html::tag('i', '', ['class' => 'fa fa-upload fa-fw']) . 'Server Rebooted' .
        Html::tag('span', '4 minutes ago', ['class' => 'pull-right text-muted small'])
     ), Url::to('address'));

Notez que si vous souhaitez créer un lien vers un itinéraire, utilisez Url::toRoute(['controller/action']).

6
Ali MasudianPour

cela peut aussi marcher :)

<?= Html::a('<div><i class="fa fa-upload fa-fw"></i> Server Rebooted
  <span class="pull-right text-muted small">4 minutes ago</span>
  </div>', ['/grid-options'], ['class'=>'your_class']) ?>
1
Kalpesh Desai

si vous voulez utiliser "controller/action" et les paramètres dans votre lien, utilisez plutôt la fonction ci-dessous

Url::toRoute(['product/view', 'id' => 42]);
0
Vivek Parmar