--- /dev/null
+<?php
+
+namespace Cubist\Backpack;
+
+class Application extends \Illuminate\Foundation\Application
+{
+ /**
+ * @return array
+ */
+ public function getVariants()
+ {
+ return $this['config']->get('app.variants', []);
+ }
+
+ /**
+ * @return bool
+ */
+ public function hasVariant()
+ {
+ return count($this->getVariants()) > 0;
+ }
+}
--- /dev/null
+<?php
+
+
+namespace Cubist\Backpack\app\Magic\Fields;
+
+use Illuminate\Support\Facades\App;
+
+class SiteVariant extends SelectFromArray
+{
+ public function __construct($attributes)
+ {
+ $variants = App::getVariants();
+ if (count($variants) === 0) {
+ $attributes['column'] = false;
+ $this->_adminType = 'hidden';
+ $this->_options = ['default' => 'default'];
+ } else {
+ $this->_options = array_combine($variants, $variants);
+ }
+ parent::__construct($attributes);
+ }
+}
--- /dev/null
+<?php
+
+
+namespace Cubist\Backpack\app\Magic\Fields;
+
+class SiteVariantMultiple extends SiteVariant
+{
+ public function __construct($attributes)
+ {
+ $this->_multiple = true;
+ parent::__construct($attributes);
+ }
+}
'type' => 'Country',
'label' => 'Drapeau']);
+ $this->addField(['name' => 'variant',
+ 'type' => 'SiteVariant',
+ 'label' => 'Variante du site',
+ 'column' => true]);
+
$this->addField(['name' => 'inherit',
'type' => 'LocaleEnabled',
'label' => 'Hériter les traductions de']);
return array_keys(self::getLocales());
}
- public static function getEnabledLocalesCodes(){
+ public static function getEnabledLocalesCodes()
+ {
return array_keys(self::getLocalesDataForFront()['enabled']);
}