= Html::submitButton($article->isNewRecord ? Yii::t('app', 'Create') : Yii::t('app', 'Update'), ['class' => $article->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
diff --git a/common/modules/blog/views/category/_form.php b/common/modules/blog/views/category/_form.php
index 4e1e615..1248c8b 100644
--- a/common/modules/blog/views/category/_form.php
+++ b/common/modules/blog/views/category/_form.php
@@ -1,4 +1,5 @@
-
+ Url::to(['/blog/ajax/category-form']), 'form' => $form, 'data_langs' => $category_langs])
+ ?>
$category_lang) {
@@ -130,7 +109,9 @@ $uploaddir = \Yii::getAlias('@saveImageDir');
$first = 0;
}
?>
-
= Html::submitButton($category->isNewRecord ? Yii::t('app', 'Create') : Yii::t('app', 'Update'), ['class' => $category->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
diff --git a/common/widgets/Multilang.php b/common/widgets/Multilang.php
new file mode 100644
index 0000000..98549ae
--- /dev/null
+++ b/common/widgets/Multilang.php
@@ -0,0 +1,45 @@
+id)) {
+ $this->id = \Yii::$app->security->generateRandomString(8);
+ }
+ if(empty($this->langs)) {
+ $this->langs = Language::getActiveLanguages();
+ }
+ if(empty($this->ajaxpath)) {
+ throw new InvalidParamException('ajaxpath must be set');
+ }
+ if(empty($this->form)) {
+ throw new InvalidParamException('form must be set');
+ }
+ ob_start();
+ echo $this->render('multilang-begin', ['id' => $this->id, 'langs' => $this->langs, 'data_langs' => $this->data_langs, 'ajaxpath' => $this->ajaxpath, 'form' => $this->form]);
+ }
+
+ public function run()
+ {
+ echo $this->render('multilang-end', ['id' => $this->id, 'langs' => $this->langs, 'data_langs' => $this->data_langs, 'ajaxpath' => $this->ajaxpath, 'form' => $this->form]);
+ $content = ob_get_clean();
+ return $content;
+ }
+}
\ No newline at end of file
diff --git a/common/widgets/views/multilang-begin.php b/common/widgets/views/multilang-begin.php
new file mode 100644
index 0000000..dd098f4
--- /dev/null
+++ b/common/widgets/views/multilang-begin.php
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+ $data_lang) {
+ ?>
+
+
+
+
+
diff --git a/common/widgets/views/multilang-end.php b/common/widgets/views/multilang-end.php
new file mode 100644
index 0000000..fdec4e6
--- /dev/null
+++ b/common/widgets/views/multilang-end.php
@@ -0,0 +1,10 @@
+
+
+
\ No newline at end of file
diff --git a/frontend/web/js/option.js b/frontend/web/js/option.js
index 5a9b0ec..60ac1c3 100644
--- a/frontend/web/js/option.js
+++ b/frontend/web/js/option.js
@@ -36,42 +36,6 @@ $(function() {
$(document).on('click', '.remove_lang', function() {
$(this).parents('.form-wrapper').remove();
});
- if($('#lang-tabs li').length > 1) {
- $('#lang-tabs li').append('
')
- }
- $(document).on('click', '#lang-dropdown li a[data-lang]', function() {
- var lang = $(this).data('lang');
- var flag = $(this).find('span').first().clone();
- var el = $(this);
- $.get('/blog/ajax/category-form', { lang_id: lang }, function(data) {
- $('#lang-tabs li').removeClass('active');
- $('#lang-tabs').append('
'+$('').append($(flag)).html()+'
');
- $('.lang-tab-content .tab-pane.active').removeClass('active');
- $('.lang-tab-content').append($(data).find('.ajax-loaded').first());
- $('body').append($(data).filter('script'));
- $(el).parent().remove();
- if(!$('#lang-dropdown li').length) {
- $('#dropdownLang').addClass('disabled');
- }
- if($('#lang-tabs li').length > 1) {
- $('#lang-tabs li').append('
')
- }
- });
- });
- $(document).on('click', '.remove-lang', function() {
- var lang = $(this).parent().data('lang');
- var flag = $(this).parent().find('span.flag').first().clone();
- $('#lang-'+lang).remove();
- $('#lang-dropdown').append('
'+$('').append($(flag)).html()+'
');
- $('#dropdownLang').removeClass('disabled');
- $(this).parent().remove();
- if($('#lang-tabs li').length <= 1) {
- $('#lang-tabs li').find('.remove-lang').remove();
- }
- if(!$('#lang-tabs>li.active').length) {
- $('#lang-tabs>li').first().find('a').tab('show');
- }
- });
$(document).on('change', '.image_inputs_field', function() {
readURL(this);
});
@@ -89,4 +53,44 @@ $(function() {
}
return false;
});
+ $.each($('.nav-tabs.f32'), function(key, value) {
+ if($(value).find('li').length > 1) {
+ $(value).find('li').append('
');
+ }
+ });
+ $(document).on('click', '.dropdown-menu.f32 li a[data-lang]', function() {
+ var lang = $(this).data('lang');
+ var flag = $(this).find('span').first().clone();
+ var el = $(this);
+ var id = $(this).attr('href').substr(1);
+ $.get(form[id], { lang_id: lang, widget_id: id }, function(data) {
+ $('#'+id+'-tabs li').removeClass('active');
+ $('#'+id+'-tabs').append('
'+$('').append($(flag)).html()+'
');
+ $('#tab-content-'+id+' .tab-pane.active').removeClass('active');
+ $('#tab-content-'+id).append($(data).find('.ajax-loaded').first());
+ $('body').append($(data).filter('script'));
+ $(el).parent().remove();
+ if(!$('#lang-'+id+' li').length) {
+ $('#'+id+'Lang').addClass('disabled');
+ }
+ if($('#'+id+'-tabs li').length > 1) {
+ $('#'+id+'-tabs li').append('
')
+ }
+ });
+ });
+ $(document).on('click', '.remove-lang', function() {
+ var lang = $(this).parent().data('lang');
+ var flag = $(this).parent().find('span.flag').first().clone();
+ var id = $(this).parent().find('a[aria-controls]').first().attr('aria-controls').substr(0,8);
+ $('#'+id+'-'+lang).remove();
+ $('#lang-'+id).append('
'+$('').append($(flag)).html()+'
');
+ $('#'+id+'Lang').removeClass('disabled');
+ $(this).parent().remove();
+ if($('#'+id+'-tabs li').length <= 1) {
+ $('#'+id+'-tabs li').find('.remove-lang').remove();
+ }
+ if(!$('#'+id+'-tabs>li.active').length) {
+ $('#'+id+'-tabs>li').first().find('a').tab('show');
+ }
+ });
});
\ No newline at end of file
--
libgit2 0.21.4