我希望每个视图都有这样的脚本标记
<script type="application/ld+json"> /******my code </script>
使用$this-〉寄存器Js(....)我得到这样的代码:
<script>jQuery(function ($) { ..... });</script>
如何添加不同类型以及如何删除jQuery..?
dgsult0t1#
默认情况下,registerJs()使用$position = View::POS_READY,而这个会自动注册jQuery资产。如果您不希望这样,可以用途:
registerJs()
$position = View::POS_READY
registerJs($js, \yii\web\View::POS_HEAD)
registerJs($js, \yii\web\View::POS_BEGIN)
registerJs($js, \yii\web\View::POS_END)
不幸的是,所有这些都将在没有类型的标准<script>标记中添加您的脚本。要实现这一点,您必须手动添加它,方法是自己放置<script...>,或者在视图或布局文件中调用\yii\helpers\Html::script($js, ['type' => 'application/ld+json'])。
<script>
<script...>
\yii\helpers\Html::script($js, ['type' => 'application/ld+json'])
nsc4cvqm2#
我在布局中使用了这个。使用块允许我在其他页面中为其他www.example.com替换这个schema.org。
<?= Html::script(isset($this->blocks['schema']) ? $this->blocks['schema'] : \yii\helpers\Json::encode([ '@context' => 'https://schema.org', '@type' => 'WebSite', 'name' => Yii::$app->name, 'image' => $this->image, 'url' => $this->url, 'descriptions' => $this->description, 'author' => [ '@type' => 'Organization', 'name' => Yii::$app->name, 'url' => Yii::$app->homeUrl, 'telephone' => Yii::$app->params['phone'], ] ]), [ 'type' => 'application/ld+json', ]) ?>
$this->image|description|url
2条答案
按热度按时间dgsult0t1#
默认情况下,
registerJs()
使用$position = View::POS_READY
,而这个会自动注册jQuery资产。如果您不希望这样,可以用途:registerJs($js, \yii\web\View::POS_HEAD)
-将JS放置在头部registerJs($js, \yii\web\View::POS_BEGIN)
-将JS放置在正文部分的开头registerJs($js, \yii\web\View::POS_END)
-将JS放置在主体部分的末端不幸的是,所有这些都将在没有类型的标准
<script>
标记中添加您的脚本。要实现这一点,您必须手动添加它,方法是自己放置
<script...>
,或者在视图或布局文件中调用\yii\helpers\Html::script($js, ['type' => 'application/ld+json'])
。nsc4cvqm2#
我在布局中使用了这个。使用块允许我在其他页面中为其他www.example.com替换这个schema.org。
$this->image|description|url
,因为我使用https://github.com/daxslab/yii2-taggedview来扩展yii\web\View,使其具有更多的属性,以便自动生成Opengraph和Twitter Cards标签。