Yii2注册Js集合类型并删除jquery
我希望每个视图都有这样的脚本标记Yii2注册Js集合类型并删除jquery,yii,yii2,yii2-basic-app,Yii,Yii2,Yii2 Basic App,我希望每个视图都有这样的脚本标记 <script type="application/ld+json"> /****** my code </script> /******我的代码 与 $this->registerJs(..) 我得到这样的代码: <script>jQuery(function ($) { ..... });</script> jQuery(函数($){ ..... }); 如何添加不同的类型以及如何
<script type="application/ld+json">
/****** my code
</script>
/******我的代码
与
$this->registerJs(..)
我得到这样的代码:
<script>jQuery(function ($) {
.....
});</script>
jQuery(函数($){
.....
});
如何添加不同的类型以及如何删除jQuery..?默认情况下,
registerJs()
正在使用$position=View::POS_READY
自动注册jQuery资产。如果您不想这样做,可以使用:
-将js放置在头部部分registerJs($js,\yii\web\View::POS\u HEAD)
-将js放置在身体部位的开头registerJs($js\yii\web\View::POS\u BEGIN)
-将js放置在身体部位的末端registerJs($js,\yii\web\View::POS\u END)
标记中,而不包含类型
要实现这一点,您必须手动添加它,方法是自己放置
,或者在视图或布局文件中调用\yii\helpers\Html::script($js,['type'=>'application/ld+json')
。默认情况下registerJs()
正在使用$position=View::POS\u READY
并且这个正在自动注册jQuery资产。如果您不想这样做,可以使用:
-将js放置在头部部分registerJs($js,\yii\web\View::POS\u HEAD)
-将js放置在身体部位的开头registerJs($js\yii\web\View::POS\u BEGIN)
-将js放置在身体部位的末端registerJs($js,\yii\web\View::POS\u END)
标记中,而不包含类型
要实现这一点,您必须手动添加它,方法是自己放置
,或者在视图或布局文件中调用\yii\helpers\Html::script($js,['type'=>'application/ld+json')
。我在布局中使用它。通过使用块,我可以在其他页面中替换其他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',
]) ?>
- 只需使用Html::script($js$options)
- 考虑使用Json::encode()避免在PHP中编写JS 文件这样对我来说更漂亮,而且也让我觉得不一样 插值更容易
- 在本例中,您会看到许多
因为我用它来扩展 yii\web\View具有更多属性,以便使Opengraph自动化 和推特卡片标签生成$this->image | description | url
<?= 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',
]) ?>
- 只需使用Html::script($js$options)
- 考虑使用Json::encode()避免在PHP中编写JS 文件这样对我来说更漂亮,而且也让我觉得不一样 插值更容易
- 在本例中,您会看到许多
因为我用它来扩展 yii\web\View具有更多属性,以便使Opengraph自动化 和推特卡片标签生成$this->image | description | url