Browse Source

找到不特别模板时,用默认

moshaorui 3 months ago
parent
commit
2af7c6de0c
2 changed files with 17 additions and 1 deletions
  1. 8 1
      app/Http/Controllers/PageController.php
  2. 9 0
      app/Models/DistAppearanceTemplate.php

+ 8 - 1
app/Http/Controllers/PageController.php

@@ -2,6 +2,7 @@
 
 namespace App\Http\Controllers;
 
+use App\Models\DistAppearanceTemplate;
 use Illuminate\Http\Request;
 use App\Services\LiquidRenderer;
 use App\Models\SitePage;
@@ -122,8 +123,14 @@ class PageController extends Controller
 
         if(!empty($page->template_file ))
         {
-            $template_file=$page->template_file;
+            //查找当前外观是否存在这文件,找不到就用默认的
+            $dist=app('dist');
+            $appearanceId = $dist->appearance->id;
+            if (DistAppearanceTemplate::hasFileName($page->template_file,getDistId(),$appearanceId) == true) {
+                $template_file=$page->template_file;
+            }
         }
+
         return $this->liquidRenderer->render($template_file,
             [
                 'page' => $page,

+ 9 - 0
app/Models/DistAppearanceTemplate.php

@@ -10,4 +10,13 @@ class DistAppearanceTemplate extends Model
 
     protected $table = 'dist_appearance_template';
 
+    //判断file_name是否存在
+    public static function hasFileName($fileName,$distId,$appearanceId) {
+        $count = self::where('file_name', $fileName)->where('dist_id', $distId)->where('appearance_id', $appearanceId)->count();
+        if ($count > 0) {
+            return true;
+        } else {
+            return false;
+        }
+    }
 }