在laravel应用程序中创建动态元标记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在laravel应用程序中创建动态元标记相关的知识,希望对你有一定的参考价值。

我正在尝试在我的laravel应用程序中实现动态元标记。我有一个head.blade.php文件,其中包含所有代码。这就是我一直在做的,我在pages文件夹下创建了一个名为meta-conf.php的文件,head.blade.php包含 -

@if(Route::currentRouteName() != false) 
{{
    $page = Route::currentRouteName();
}}
    @include('pages.meta-conf');
{{
    $title = $meta[$page]['title'];
    $keywords = $meta[$page]['keywords'];
    $description = $meta[$page]['description'];
}}
@else
{{
   $title = "akademe";
   $keywords = "";
   $description = "Quickly find near by courses";
}}
@endif

meta-conf.php包含 -

<?php

$meta['index']['title'] = "Home";
$meta['index']['keywords'] = "explore, learn, repeat, education, register, institute, courses";
$meta['index']['description'] = "Quickly find near by courses";

现在它给我一个错误“Undefined variable:meta”。我已经包含了meta-conf.php文件,其中包含定义的$ meta数组,如上所示。不知是什么导致了这个问题。

答案

我会做什么而不是你正在做的是这样的:

  • 将标题,关键字和描述作为公共变量添加到基础控制器(app/Http/Controllers/Controller.php
  • 初始化Controller构造函数上的变量并设置“默认”值
  • 从您的控制器(课程,搜索等)设置每个页面的特定值
  • 在基础控制器上实现“renderPage”方法,以便您可以从控制器传递视图和参数
  • Render方法将加载请求的视图并传递参数和元标记变量
  • 更新您的head.blade.php以使用您的元变量

我没有测试过上面的任何一个,但是认为这样的东西应该可行:)

以上是关于在laravel应用程序中创建动态元标记的主要内容,如果未能解决你的问题,请参考以下文章

如何使用数据库在 Laravel 中创建动态菜单栏

如何在laravel 5中创建用于XSS防御的中间件?

需要一种有效的方法来避免使用 Laravel 5 重复代码片段

Android App 在片段中创建 ListView 引用时关闭

在Laravel中创建记录后发送通知

在 Visual Studio 中创建构造函数的代码片段或快捷方式