Browse Source

Merge branch 'refs/heads/master' into stable

moshaorui 4 weeks ago
parent
commit
468e99030d

+ 3 - 0
.env.dev

@@ -73,3 +73,6 @@ MAIL_CC_ADDRESS=""
 ASSET_BASE_URL="https://mietubl-dev.oss.mietubl.com.cn/"
 FONT_BASE_URL="https://mietubl-dev.oss.mietubl.com.cn/"
 IMAGE_BASE_URL="https://mietubl-dev.oss.mietubl.com.cn/"
+
+#巴西官网的域名,用于在路由生成跳转
+BR_HOST="internal-demo-site.mietubl.com.cn"

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

@@ -23,9 +23,10 @@ class PageController extends Controller
      */
     public function list()
     {
+        abort('404');
         $cacheKey = "page_list_dist_" . getDistId() . "_page_" . request()->get('page', 1);
         $pages = SitePage::paginate(10)->where('dist_id', getDistId())->where('status', '1'); // 每页显示10个页面
-        return $this->liquidRenderer->render('pages.list', ['pages' => $pages],$cacheKey);
+        return $this->liquidRenderer->render('pages_list', ['pages' => $pages],$cacheKey);
     }
 
     /**

+ 5 - 1
app/Http/Controllers/ProductController.php

@@ -109,7 +109,11 @@ class ProductController extends Controller
 
         if(!$product)
         {
-            abort('404');
+            $product = DistProduct::getProductSlug($id);
+            if(!$product)
+            {
+                abort('404');
+            }
         }
 
         // 获取改产品分类下的相关产品,不包当前产品,限制条数 limit 4

+ 1 - 0
app/Http/Kernel.php

@@ -21,6 +21,7 @@ class Kernel extends HttpKernel
         \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
         \App\Http\Middleware\TrimStrings::class,
         \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
+        \App\Http\Middleware\MapCustomUrl::class,   //自定义路由映射
         \App\Http\Middleware\LoadDistData::class,   //读取分销商信息
     ];
 

+ 19 - 0
app/Http/Middleware/MapCustomUrl.php

@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Http\Middleware;
+
+use Closure;
+use Illuminate\Http\Request;
+
+class MapCustomUrl
+{
+    public function handle(Request $request, Closure $next)
+    {
+//        $uri = $request->getRequestUri();
+//        dd($uri);
+//        $request->server->set('REQUEST_URI', '/pages/sobre');
+//        $request->server->set('pathInfo', '/pages/sobre');
+
+        return $next($request);
+    }
+}

+ 5 - 0
app/Models/DistProduct.php

@@ -37,6 +37,11 @@ class DistProduct extends Model
         return self::where('enabled', 1)->where('dist_id', getDistId())->with('images')->find($productId);
     }
 
+    public static function getProductSlug($slug)
+    {
+        return self::where('enabled', 1)->where('dist_id', getDistId())->where('slug', $slug)->with('images')->first();
+    }
+
 
 
     // 静态方法用于查询多个产品

+ 19 - 0
resources/views/liquid_src/1/screen_protector_solutions/__collection_list_2.liquid

@@ -0,0 +1,19 @@
+<!-- FAQ Section -->
+<section class="supplier-section">
+    <! -- 供应商 -->
+    <div class="container">
+        <div class="row">
+            <!-- 国际业务 -->
+            {% for item in pages %}
+                <div class="col-md-4">
+                    <div class="card contact-card">
+                        <div class="card-body">
+                            <h3 class="section-title">{{ item.title | decode_html_entities | strip_html }}</h3>
+                            {{page.content | raw }}
+                        </div>
+                    </div>
+                </div>
+            {% endfor %}
+        </div>
+    </div>
+</section>

+ 3 - 1
resources/views/liquid_src/1/screen_protector_solutions/_header.liquid

@@ -3,7 +3,9 @@
 
         <div class="container">
             {% if site.dist.logo %}
-            <a class="header-logo position-absolute start-0 translate-middle-y" style="top:50%; z-index: 1000" href="/"><img src="{{ site.image_base_url }}{{ site.dist.logo }}" height="115px"></a>
+            <a class="header-logo position-absolute  translate-middle-y" style="top:50%; z-index: 1000;left: 60px;" href="/">
+                <img src="{{ site.image_base_url }}{{ site.dist.logo }}" height="100px" width="230px">
+            </a>
             {% endif %}
 
             <div class="navbar-toggler-container position-absolute ">

+ 9 - 4
resources/views/liquid_src/1/screen_protector_solutions/collection_list.liquid

@@ -29,12 +29,12 @@
 
 <div class="container article-list">
 
-    <div class="breadcrumb">{% for breadcrumb in breadcrumbs %} {%if forloop.last%} <strong>Perguntas frequentes</strong> {%else%} <a href="{{ breadcrumb.url }}" title="Home page">{{ breadcrumb.name }}</a>{% endif %}{% endfor %} </div>
+    <div class="breadcrumb">{% for breadcrumb in breadcrumbs %} {%if forloop.last%} <strong>{{ breadcrumb.name }}</strong> {%else%} <a href="{{ breadcrumb.url }}" title="Home page">{{ breadcrumb.name }}</a>{% endif %}{% endfor %} </div>
 
 
     <div class="row g-4">
         <!-- 左侧文章列表 -->
-        <div class="col-lg-8">
+        <div class="col-lg-12">
             <div class="row row-cols-1 g-4">
                 {% for item in pages %}
                     <!-- 单篇文章卡片 -->
@@ -44,9 +44,9 @@
                                 <div class="col-md-4">
                                     <a href="/pages/{% if item.slug %}{{ item.slug }}{% else %}{{ item.id }}{% endif %}" target="_blank">
                                         {% if item.cover_image %}
-                                            <img src="{% if item.cover_image contains 'http' %}{{ item.cover_image }}{% else %}{{ site.image_base_url }}{{ item.cover_image | append: '?x-oss-process=image/resize,m_pad,w_1024,h_1024' }}{% endif %}" class="img-fluid rounded-start post-cover" alt="{{ item.title | strip_html }}">
+                                            <img src="{% if item.cover_image contains 'http' %}{{ item.cover_image }}{% else %}{{ site.image_base_url }}{{ item.cover_image | append: '?x-oss-process=image/resize,m_fill,w_400,h_266' }}{% endif %}" class="img-fluid rounded-start post-cover" alt="{{ item.title | strip_html }}">
                                         {% else %}
-                                            <img src="{{ site.asset_base_url }}static/tpl/screen_protector_solutions/image/" alt="{{ item.title | strip_html }}" class="post-cover">
+                                            <img src="{{ site.asset_base_url }}static/tpl/screen_protector_solutions/image/product_default.jpg" alt="{{ item.title | strip_html }}" class="post-cover">
                                         {% endif %}
                                     </a>
                                 </div>
@@ -65,6 +65,9 @@
                                                 {{ item.seo_description | truncatewords: 200 }}
                                             {% endif %}
                                         </p>
+
+                                        <div class="more"><a href="/pages/{% if item.slug %}{{ item.slug }}{% else %}{{ item.id }}{% endif %}" target="_blank">Learm more</a></div>
+
                                     </div>
                                 </div>
                                 <hr class="w-100 mx-auto">
@@ -122,6 +125,7 @@
         </div>
 
         <!-- 右侧边栏 -->
+        <!--
         <div class="col-lg-4">
             <div class="recent-posts">
                 <h4 class="mb-4 bg-teal p-3 rounded">RECENT POSTS</h4>
@@ -136,6 +140,7 @@
                 </div>
             </div>
         </div>
+        -->
     </div>
 </div>
 

+ 5 - 7
resources/views/liquid_src/1/screen_protector_solutions/pages_sp_about.liquid

@@ -28,16 +28,14 @@
 
 
 <!-- Hero Section -->
-<section class="about-hero text-center" style="background-image: url('{{ site.asset_base_url }}static/tpl/screen_protector_solutions/image/contact_us.png');">
-    <div class="container">
-        <h1 class="display-4 fw-bold mb-4" mtb_edit="2">Sobre Mietubl</h1>
-        <p class="lead" mtb_edit="2">Nascido na China, crescendo com fabricação inteligente</p>
-    </div>
-</section>
+
+
 
 <!-- Main Content -->
-<section class="py-5">
+<section>
     <div class="container">
+        <div class="breadcrumb"><a href="/" title="Home page">Home</a>  <strong>Sobre</strong></div>
+
         <div class="row align-items-center g-5">
             <div class="col-lg-6">
 

+ 5 - 0
resources/views/liquid_src/1/screen_protector_solutions/pages_sp_contact.liquid

@@ -116,6 +116,11 @@
     </div>
 </section>
 
+
+{% collection slug="Agent" limit=50 template="__collection_list_2.liquid" %}
+
+
+
 {% include '_footer.liquid' %}
 <script>
     $(document).ready(function() {

+ 42 - 1
routes/web.php

@@ -1,5 +1,4 @@
 <?php
-
 use Illuminate\Support\Facades\Route;
 
 use App\Http\Controllers\HomeController;
@@ -11,6 +10,9 @@ use App\Http\Controllers\DemoController;
 use App\Http\Controllers\SitemapController;
 use App\Http\Controllers\CollectionController;
 
+use App\Models\DistProductCategory;
+use App\Models\SitePage;
+use App\Models\DistAdminDistributor;
 /*
 |--------------------------------------------------------------------------
 | Web Routes
@@ -21,6 +23,40 @@ use App\Http\Controllers\CollectionController;
 | be assigned to the "web" middleware group. Make something great!
 |
 */
+
+//巴西官网专用路由
+$host = request()->getHttpHost();    // 安全且可靠
+$uri = request()->getRequestUri();
+$brHost = env('BR_HOST'); // 巴西官网域名
+if ($host == $brHost) {
+    $segments = explode('/', $uri);
+    if ($segments) {
+        $slug = $segments[1];
+        if ($slug == 'produto') {
+            Route::get('/produto/{slug}', [ProductController::class, 'detail'])->name('products.detail');
+        } else {
+            $distInfo = DistAdminDistributor::findByDomain($brHost);
+            $categoryId = DistProductCategory::where(function ($query) use ($slug) {
+                $query->where('slug', $slug);
+            })
+                ->where('dist_id', $distInfo->id)
+                ->first();
+            if ($categoryId) {
+                return Route::get('/{categoryId}', [ProductController::class, 'category'])->name('products.category');
+            } else {
+                $page = SitePage::where('status', '1')->where('dist_id', $distInfo->id)->where('slug', $slug)->first();
+                if ($page) {
+                    return Route::get('/{slug}', [PageController::class, 'detail'])->name('page.detail');
+                }
+            }
+        }
+    }
+}
+
+
+
+
+
 Route::get('/demo', [DemoController::class, 'index'])->name('demo');
 
 
@@ -63,3 +99,8 @@ Route::prefix('collections')->group(function () {
 
 // Sitemap 路由
 Route::get('/sitemap.xml', [SitemapController::class, 'index'])->name('sitemap.index');
+
+
+
+
+