Exemple #1
0
 public function createCategory()
 {
     $cols['id'] = 'pk';
     foreach (Language::find()->all() as $lang) {
         $name = LanguageHelper::processForLang('name', $lang);
         $cols[$name] = "varchar(255) DEFAULT NULL";
     }
     $cols['ordering'] = 'int(11) DEFAULT NULL';
     $options = 'ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8';
     $query = $this->db->getQueryBuilder();
     $createTableSyntax = $query->createTable('core_category', $cols, $options);
     $this->db->createCommand($createTableSyntax)->execute();
 }
Exemple #2
0
 protected function createTable()
 {
     $cols['id'] = 'pk';
     $cols['created_at'] = 'datetime NOT NULL';
     foreach (Language::find()->all() as $lang) {
         $title = LanguageHelper::processForLang('title', $lang);
         $cols[$title] = "varchar(255) NOT NULL";
         $body = LanguageHelper::processForLang('body', $lang);
         $cols[$body] = "longtext";
     }
     $options = "ENGINE=InnoDB DEFAULT CHARSET=utf8;";
     $query = \Yii::$app->getDb()->queryBuilder;
     $createTableSyntax = $query->createTable('page', $cols, $options);
     $db = \Yii::$app->getDb();
     $db->createCommand($createTableSyntax)->execute();
 }
Exemple #3
0
 public static function multiLangTextarea($object, $name, $options)
 {
     $languages = Language::find()->all();
     $html = '';
     /** @var Language $lang */
     foreach ($languages as $lang) {
         $field = LanguageHelper::processForLang($name, $lang);
         $value = $object->{$field};
         $reflectionCLass = new \ReflectionClass($object);
         $shortName = $reflectionCLass->getShortName();
         $fieldName = $shortName . '[' . $field . ']';
         $langSymbol = $lang->symbol;
         $html .= "<div class='lang' data-lang='{$langSymbol}'>";
         $html .= parent::textarea($fieldName, $value, $options);
         $html .= "</div>";
     }
     return $html;
 }