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();
$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');
}
}