【问题标题】:Laravel Mobile SupportLaravel 移动支持
【发布时间】:2014-12-02 01:03:21
【问题描述】:

我正在向我的 laravel 应用程序添加一个适合移动设备的网站(不是响应式,而是一个完全不同的网站),所以我将以下代码添加到 /app/config/views.php

use Jenssegers\Agent\Agent as Agent;
$Agent = new Agent();
// agent detection influences the view storage path
if ($Agent->isMobile()) {
    $viewPath = __DIR__.'/../views/mobile';
} else {
    $viewPath = __DIR__.'/../views';
}

而且效果很好。问题是,我正在尝试发送电子邮件,而 laravel 期望电子邮件的视图文件也位于 /views/mobile 目录下,有什么办法可以告诉电子邮件仍然总是从 /views/ 加载而不是 /views/mobile ?

【问题讨论】:

    标签: php mobile laravel


    【解决方案1】:

    为视图添加命名空间。这允许您在两个视图文件夹中提取电子邮件视图并将它们放入自己的文件夹中。

    可以这样做;

    View::addNamespace('email', '/path/to/email/views/folder');
    

    此行可以放在您的/app/config/views.php 或任何您喜欢的地方。您可以简单地执行此操作以使用此视图字符串 'email::message'

    访问视图

    【讨论】:

    • 嗯听起来很合理,但我无法实现它,有些东西破坏了代码。请参阅第 22 行 pastebin.com/H2d0sszS
    • 尝试将此行移至app/start/global.php,因为该行本身没有任何内容。因为那是我自己放的地方。
    • 已经这样做了,结果更糟:Symfony \ Component \ Debug \ Exception \ FatalErrorException --> Method Illuminate\View\View::__toString() must not throw an exception
    • 而这突然发生在vendor/laravel/framework/src/Illuminate/Database/Connection.php
    • 一旦你把它放在app/start/global.php 中,你是否改变了路径以防目录不存在?
    猜你喜欢
    • 2013-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-15
    • 1970-01-01
    相关资源
    最近更新 更多