Laravel 6.x Backpack NewsCrud 插件
Laravel 6.x Backpack NewsCrud Plugin
我想做的是允许管理面板使用 newscrud post 新闻。我对如何从数据库中获取信息并向用户展示文章感到困惑。
我在使用 laravel 的 newscrud 插件时遇到问题。我完全不明白如何使用这个插件。我已经使用作曲家安装了它。所有控制器、模型等都在我的 Laravel 项目的 vendor 文件夹中。
尝试次数:
我试图做的是在
laravel-project/vendor/backpack/newscrud/src/app/Http/Controllers/Admin/ArticleCrudController.php 文件:
public function index()
{
# Pass the article database information in articles var
$articles = Articles::all();
# Return this variable to blog page
return view ('blog')->with('articles', $articles);
}
并且在 routes/web.php 文件中:
Route::get('/blog', 'ArticleCrudController@index')->name('blog');
前端代码
@foreach($articles as $article)
<div class="col-md-12 d-flex ftco-animate">
<div class="blog-entry align-self-stretch d-md-flex">
<a href="blog-single.html" class="block-20" style="background-image: url('images/image_6.jpg');">
</a>
<div class="text d-block pl-md-4">
<div class="meta mb-3">
<div><a href="#">July 20, 2019</a></div>
<div><a href="#">Admin</a></div>
<div><a href="#" class="meta-chat"><span class="icon-chat"></span> 3</a></div>
</div>
<h3 class="heading"><a href="#">Even the all-powerful Pointing has no control about the blind texts</a></h3>
<p>Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts.</p>
<p><a href="blog-single.html" class="btn btn-primary py-2 px-3">Read more</a></p>
</div>
</div>
</div>
@endforeach
错误
我收到的错误消息是:
Target class [App\Http\Controllers\ArticleCrudController] does not exist.
如果你需要information/screenshots我愿意提供
错误信息
App\Http\Controllers\ArticleCrudController
显示 Laravel 无法解析 PHP 命名空间 App\Http\Controllers
中的控制器。
我刚刚查看了库的代码,我建议你替换
Route::get('/blog', 'ArticleCrudController@index')->name('blog');
来自
Route::get('/blog', 'Backpack\NewsCRUD\app\Http\Controllers\Admin\ArticleCrudController@index')->name('blog');
尝试像这样编辑您的 web.php:
Route::group([
'prefix' => '/',
'middleware' => ['web'],
// This is all the namespace in directory
'namespace' => 'laravel-project\vendor\backpack\newscrud\src\app\Http\Controllers\Admin',
], function () {
Route::get('/blog', 'ArticleCrudController@index')->name('blog');
});
并将您的 ArticleCrudController.php 文件编辑为:
namespace laravel-project\vendor\backpack\newscrud\src\app\Http\Controllers\Admin;
希望这对您有所帮助:)
在 PHP 中使用 Composer 时,切勿修改 /vendor/ 文件夹中的文件。因为一旦您 运行 作曲家更新,它们就会被覆盖。
如果我没理解错的话,你想做的事情和Backpack没什么关系。您不应覆盖供应商文件夹中的包。你应该在你的应用程序文件夹中创建一个控制器,在你的路由文件夹中创建一个路由,你通常会在 Laravel 中这样做。只需确保在引用模型时引用 Backpack\NewsCRUD\app\Models\Article 而不是 App\Models\Article.
希望对您有所帮助!
我想做的是允许管理面板使用 newscrud post 新闻。我对如何从数据库中获取信息并向用户展示文章感到困惑。
我在使用 laravel 的 newscrud 插件时遇到问题。我完全不明白如何使用这个插件。我已经使用作曲家安装了它。所有控制器、模型等都在我的 Laravel 项目的 vendor 文件夹中。
尝试次数: 我试图做的是在 laravel-project/vendor/backpack/newscrud/src/app/Http/Controllers/Admin/ArticleCrudController.php 文件:
public function index()
{
# Pass the article database information in articles var
$articles = Articles::all();
# Return this variable to blog page
return view ('blog')->with('articles', $articles);
}
并且在 routes/web.php 文件中:
Route::get('/blog', 'ArticleCrudController@index')->name('blog');
前端代码
@foreach($articles as $article)
<div class="col-md-12 d-flex ftco-animate">
<div class="blog-entry align-self-stretch d-md-flex">
<a href="blog-single.html" class="block-20" style="background-image: url('images/image_6.jpg');">
</a>
<div class="text d-block pl-md-4">
<div class="meta mb-3">
<div><a href="#">July 20, 2019</a></div>
<div><a href="#">Admin</a></div>
<div><a href="#" class="meta-chat"><span class="icon-chat"></span> 3</a></div>
</div>
<h3 class="heading"><a href="#">Even the all-powerful Pointing has no control about the blind texts</a></h3>
<p>Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts.</p>
<p><a href="blog-single.html" class="btn btn-primary py-2 px-3">Read more</a></p>
</div>
</div>
</div>
@endforeach
错误 我收到的错误消息是:
Target class [App\Http\Controllers\ArticleCrudController] does not exist.
如果你需要information/screenshots我愿意提供
错误信息
App\Http\Controllers\ArticleCrudController
显示 Laravel 无法解析 PHP 命名空间 App\Http\Controllers
中的控制器。
我刚刚查看了库的代码,我建议你替换
Route::get('/blog', 'ArticleCrudController@index')->name('blog');
来自
Route::get('/blog', 'Backpack\NewsCRUD\app\Http\Controllers\Admin\ArticleCrudController@index')->name('blog');
尝试像这样编辑您的 web.php:
Route::group([
'prefix' => '/',
'middleware' => ['web'],
// This is all the namespace in directory
'namespace' => 'laravel-project\vendor\backpack\newscrud\src\app\Http\Controllers\Admin',
], function () {
Route::get('/blog', 'ArticleCrudController@index')->name('blog');
});
并将您的 ArticleCrudController.php 文件编辑为:
namespace laravel-project\vendor\backpack\newscrud\src\app\Http\Controllers\Admin;
希望这对您有所帮助:)
在 PHP 中使用 Composer 时,切勿修改 /vendor/ 文件夹中的文件。因为一旦您 运行 作曲家更新,它们就会被覆盖。
如果我没理解错的话,你想做的事情和Backpack没什么关系。您不应覆盖供应商文件夹中的包。你应该在你的应用程序文件夹中创建一个控制器,在你的路由文件夹中创建一个路由,你通常会在 Laravel 中这样做。只需确保在引用模型时引用 Backpack\NewsCRUD\app\Models\Article 而不是 App\Models\Article.
希望对您有所帮助!