devzkhalil / laravel-trovit-xml-feed
Laravel Trovit XML Feed Generator 是一个用于帮助您从 Laravel 应用程序的数据中轻松创建 Trovit XML 提供的软件包。
This package is not auto-updated.
Last update: 2024-09-23 04:47:27 UTC
README
Laravel Trovit XML Feed Generator 是一个用于帮助您从 Laravel 应用程序的数据中轻松创建 Trovit XML 提供的软件包。
什么是 Trovit?
Trovit 是一个流行的在线分类广告搜索引擎,用户可以搜索房地产、工作、汽车和其他各种类别的分类广告。它从全球成千上万个网站汇总列表,使用户能够方便地找到他们想要的东西。
安装
1.使用 Composer 安装软件包:
composer require devzkhalil/laravel-trovit-xml-feed:@dev
2.发布配置文件:
安装软件包后,使用以下命令发布配置文件
php artisan vendor:publish --provider="Devzkhalil\TrovitXmlFeed\TrovitXmlFeedServiceProvider"
这将创建一个 config/trovit.php 文件,您可以在其中自定义 Trovit XML 提供的字段和字段映射。
3.配置:
在 config/trovit.php 文件中,定义字段和字段映射。默认配置包括 Trovit 规定的必填字段以及其他可选字段。
return [ /* |-------------------------------------------------------------------------- | Trovit XML Feed Format Fields |-------------------------------------------------------------------------- | Here is the list of fields obtained from | https://help.thribee.com/hc/en-us/articles/7920567396124-UK-Jobs-feed | |-------------------------------------------------------------------------- | Mandatory Fields |-------------------------------------------------------------------------- | id | url | title | content | | Other fields are optional. | You can comment out fields if you don't need them. | */ 'fields' => [ 'id', 'title', 'url', 'content', 'city', 'city_area', 'region', 'postcode', 'salary', 'working_hours', 'company', 'experience', 'requirements', 'contract', 'category', 'date', 'studies' ], 'field_mapping' => [ // Example mapping: 'model_column_name' => 'trovit_field' 'id' => 'id', 'post_url' => 'url', 'title' => 'title', 'content' => 'content', // Add more mappings as needed ] ];
基本用法
1.生成 XML 提供内容:要生成 Trovit XML 提供内容,从您的模型获取数据,并在 TrovitXmlFeed 类上调用 generate 方法。以下是一个使用 Post 模型的示例
use App\Models\Post; use Devzkhalil\TrovitXmlFeed\Facades\TrovitXmlFeed; public function generateTrovitFeed() { $posts = Post::latest()->select(['id', 'title', 'post_url', 'content'])->take(100)->get(); $feed = TrovitXmlFeed::generate($posts, 'trovit-feed'); if ($feed['status']) { return response()->json(['message' => 'Feed generated successfully'], 200); } else { return response()->json(['message' => $feed['message']], 500); } }
此代码段从 posts 表中获取最新的 100 条帖子,生成一个名为 trovit-feed.xml 的 XML 提供内容,并将其保存到 public 目录中。
2.访问生成的提供内容:
生成的 XML 提供内容将保存在您的 Laravel 应用程序的 public 目录中。您可以通过类似 http://your-domain.com/trovit-feed.xml 的 URL 访问它。
示例控制器方法
以下是一个生成 Trovit XML 提供内容的完整控制器方法的示例
namespace App\Http\Controllers; use App\Models\Post; use Illuminate\Http\JsonResponse; use Devzkhalil\TrovitXmlFeed\Facades\TrovitXmlFeed; class FeedController extends Controller { /** * Generate Trovit XML Feed. * * @return JsonResponse */ public function generateTrovitFeed(): JsonResponse { $posts = Post::latest()->select(['id', 'title', 'post_url', 'content'])->take(100)->get(); $feed = TrovitXmlFeed::generate($posts, 'trovit-feed'); if ($feed['status']) { return response()->json(['message' => 'Feed generated successfully'], 200); } else { return response()->json(['message' => $feed['message']], 500); } } }
总结
使用 Laravel Trovit XML Feed Generator,您可以轻松创建和管理 Trovit 的 XML 提供内容,确保您的列表始终保持最新并可供访问。此软件包处理繁重的工作,让您能够专注于核心应用程序逻辑。