/** * @param string $field * @param array $rules * @return array */ public static function process($field, $rules) { $languages = Language::find()->all(); $fields = []; /** @var Language $language */ foreach ($languages as $language) { $fields[] = $field . '__' . $language->symbol; } $fields = array_merge([$fields], $rules); return $fields; }
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(); }
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(); }
public static function langSwitcher() { $languages = Language::find()->all(); $html = '<div class="pull-right langs">'; $i = 0; /** @var Language $language */ foreach ($languages as $language) { $currentLang = \Yii::$app->language; $currentClass = $currentLang == $language->symbol ? ' class="current"' : ''; $lang = $language->symbol == 'en' ? 'gb' : $language->symbol; $langIco = $flag = Flags::widget(['flag' => $lang, 'type' => Flags::SHINY_16, 'useSprite' => false]); $html .= '<a href="#" data-src="' . $language->symbol . '"' . $currentClass . '>' . $langIco . '</a>'; $i++; } $html .= '</div>'; return $html; }
public function __construct(SlugCounterInterface $slugCounter) { $this->languages = Language::find()->all(); $this->slugCounter = $slugCounter; }