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

时间:2015-07-02 11:16:01

标签: php laravel dynamic tags blade

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

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

1 个答案:

答案 0 :(得分:0)

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

  • 将标题,关键字和说明作为公共变量添加到基本控制器(app/Http/Controllers/Controller.php
  • 初始化Controller构造函数上的变量并设置&#34;默认&#34;值
  • 从您的控制器(课程,搜索等)设置每页的具体值
  • 实现&#34; renderPage&#34;基础控制器上的方法,以便您可以从控制器传递视图和参数
  • 渲染方法将加载请求的视图并传递参数元标记变量
  • 更新head.blade.php以使用元变量

我还没有对上述任何一项进行过测试,但认为这样的事情应该有效:)