]> _ Git - pmi.git/commitdiff
wait #7116 @1:00
authorsoufiane <soufiane@cubedesigners.com>
Mon, 14 Oct 2024 15:52:24 +0000 (17:52 +0200)
committersoufiane <soufiane@cubedesigners.com>
Mon, 14 Oct 2024 15:52:24 +0000 (17:52 +0200)
app/SubForms/News.php

index 53c87604b425b9ae1bc5f4c4772fd346e8e735bf..137ea0a788c4d7fba9d3f9d279fe5a2f27c6a50b 100644 (file)
@@ -10,11 +10,15 @@ use App\Models\News as N;
 use Cubist\Backpack\app\Magic\Menu\Menu;
 use Cubist\Backpack\app\Magic\Models\CMSPage;
 use Cubist\Backpack\app\Magic\SubForm;
+use Cubist\Backpack\Facades\App;
 use Cubist\Backpack\Magic\Fields\SelectFromArray;
+use http\Env\Request;
 use Illuminate\Support\Facades\DB;
 
 class News extends SubForm
 {
+    protected $defaultLang = 'fr';
+
     public function init()
     {
         parent::init();
@@ -42,30 +46,35 @@ class News extends SubForm
         $this->addField(['name' => 'page_product',
             'label' => 'Page produit',
             'type' => 'SelectFromArray',
-            'options' => self::products(),
+            'options' => self::products(request()->query('locale') ?? $this->defaultLang),
             'multiple' => false,
             'default' => ''
         ]);
 
         $this->addField(['name' => 'page_page',
             'label' => 'Page generale',
-            'type' => 'PageInternal',
+            'type' => 'SelectFromArray',
+            'options' => self::pages(request()->query('locale') ?? $this->defaultLang),
             'multiple' => false,
         ]);
 
         $this->addField(['name' => 'page_news',
             'label' => 'Page actualités',
             'type' => 'SelectFromArray',
-            'options' => self::news(),
+            'options' => self::news(request()->query('locale') ?? $this->defaultLang),
             'multiple' => false,
         ]);
     }
 
-    public function news() {
-        return DB::table('cubist_news')->pluck('title->fr AS title','id');
+    public function news($local) {
+        return DB::table('cubist_news')->whereNotNull("title->$local")->pluck("title->$local AS title",'id');
+    }
+
+    public function products($local) {
+        return DB::table('catalog_products')->whereNotNull("name->$local")->pluck("name->$local AS name",'id');
     }
 
-    public function products() {
-        return DB::table('catalog_products')->pluck('name->fr AS name','id');
+    public function pages($local) {
+        return DB::table('cubist_cms_pages')->whereNotNull("title->$local")->pluck("title->$local AS title",'id');
     }
 }