【问题标题】:Creating dynamic meta tags in a laravel application在 laravel 应用程序中创建动态元标记
【发布时间】:2015-07-02 11:16:01
【问题描述】:

我正在尝试在我的 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";

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

【问题讨论】:

    标签: php laravel dynamic tags blade


    【解决方案1】:

    我会做的而不是你正在做的事情是这样的:

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

    我还没有测试过上述任何一个,但认为这样的东西应该可以工作:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多