26

Re: ОШИБКА - Языки сайта ImageCMS Corporate

Денис пишет:

AJIEKCAHDP и Витлий. У вас что-нибудь получилось? Такая же проблема. Языки настроены, виджет установлен. А в переменной $languages ничего нет - NULL. Так же нельзя дублировать страницы на другом языке (хотя описание сайта и меню можно). Явная бага движка

Ничего не получилось никто помочь не может, давайте вместе разбираться

Thumbs up Thumbs down

27

Re: ОШИБКА - Языки сайта ImageCMS Corporate

Виталий пишет:
Денис пишет:

AJIEKCAHDP и Витлий. У вас что-нибудь получилось? Такая же проблема. Языки настроены, виджет установлен. А в переменной $languages ничего нет - NULL. Так же нельзя дублировать страницы на другом языке (хотя описание сайта и меню можно). Явная бага движка

Ничего не получилось никто помочь не может, давайте вместе разбираться

Написал в тех. поддержку

Thumbs up Thumbs down

28

Re: ОШИБКА - Языки сайта ImageCMS Corporate

Попробуйте поменять код в файле language_switch/language_switch_widgets.php на этот:

<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

/**
 * language_switch widgets
 */
class Language_switch_Widgets extends MY_Controller {

    private $defaults = array();

    public function __construct() {
        parent::__construct();
        $lang = new MY_Lang();
        $lang->load('language_switch');
    }

    // Get and display recent comments
    public function language_switch_show($widget = array()) {
        if ($widget['settings'] == FALSE) {
            $settings = $this->defaults;
        } else {
            $settings = $widget['settings'];
        }

        $current_address = '';
        $current_address .= $this->uri->uri_string();

        if ($this->input->server('QUERY_STRING')) {
            $current_address .= '?' . $this->input->server('QUERY_STRING');
        }
        if ($this->uri->segment(1)) {
            if (array_key_exists($this->uri->segment(1), $this->core->langs)) {
                $current_address = substr_replace($current_address, '', 0, strlen($this->uri->segment(1)));
            } else {
                $current_address = '/' . $current_address;
            }
        }


        $languages = $this->db->get('languages')->result_array();
        foreach ($languages as $key => $lang) {
            if ($lang['identif'] == MY_Controller::getCurrentLocale()) {
                $languages[$key]['current'] = 1;
            } else {
                $languages[$key]['current'] = 0;
            }

        }

        return $this->template->fetch('widgets/' . $widget['name'], array('languages' => $languages, 'current_address' => $current_address));
    }

    // Configure widget settings
    public function language_switch_show_configure($action = 'show_settings', $widget_data = array()) {
        if ($this->dx_auth->is_admin() == FALSE) {
            exit;
        } // Only admin access 

        switch ($action) {
            case 'show_settings':
                $this->display_tpl('language_switch_show_form', array('widget' => $widget_data));
                break;

            case 'update_settings':
                $this->form_validation->set_rules('image_url', lang('Картинка', 'language_switch'), 'trim|required');
                $this->form_validation->set_rules('image_title', lang('Описание', 'language_switch'), 'trim');
                $this->form_validation->set_rules('href', lang('passage Url', 'language_switch'), 'trim');


                if ($this->form_validation->run() == FALSE) {
                    showMessage(validation_errors(), false, 'r');
                } else {
                    $data = array(
                        'image_url' => trim($_POST['image_url']),
                        'image_title' => htmlspecialchars($_POST['image_title']),
                        'href' => trim(htmlspecialchars($_POST['href'])),
                    );

                    $this->load->module('admin/widgets_manager')->update_config($widget_data['id'], $data);
                    showMessage(lang('Настройки сохранены', 'language_switch'));
                }
                break;

            case 'install_defaults':
                $this->load->module('admin/widgets_manager')->update_config($widget_data['id'], $this->defaults);
                break;
        }
    }

    // Template functions
    function display_tpl($file, $vars = array()) {
        $this->template->add_array($vars);

        $file = realpath(dirname(__FILE__)) . '/templates/' . $file . '.tpl';
        $this->template->display('file:' . $file);
    }

    function fetch_tpl($file, $vars = array()) {
        $this->template->add_array($vars);

        $file = realpath(dirname(__FILE__)) . '/templates/' . $file . '.tpl';
        return $this->template->fetch('file:' . $file);
    }

}

Переменая $languages должна появиться в шаблоне var_dump($languages); используйте в коде шаблона.

Сделаю обновления вашего магазина до актуальной версии системы со вем переносом ваших товаров, просьба писать в приват.
https://novabench.com/image/742206.png

29

Re: ОШИБКА - Языки сайта ImageCMS Corporate

Спасибо AJIEKCAHDP! Выбор появился. Но это не совсем решило проблему - в админке нельзя добавить английскую версию страницы https://yadi.sk/i/MhRkWCsT3KDaJj

Thumbs up Thumbs down

30

Re: ОШИБКА - Языки сайта ImageCMS Corporate

Аналогичная проблема. Впервые поставил данную CMS - готового решения нигде не вижу.

Thumbs up Thumbs down

31 Отредактировано Никита (18-06-2017 00:55:13)

Re: ОШИБКА - Языки сайта ImageCMS Corporate

Денис, дайте знать, если тех. поддержка даст ответ.

Thumbs up Thumbs down

32

Re: ОШИБКА - Языки сайта ImageCMS Corporate

Скриншот запилите заного, не видно сути проблемы.

Сделаю обновления вашего магазина до актуальной версии системы со вем переносом ваших товаров, просьба писать в приват.
https://novabench.com/image/742206.png

33

Re: ОШИБКА - Языки сайта ImageCMS Corporate

Денис пишет:

Спасибо AJIEKCAHDP! Выбор появился. Но это не совсем решило проблему - в админке нельзя добавить английскую версию страницы https://yadi.sk/i/MhRkWCsT3KDaJj

Языки при первом создании страницы не будут видны, только после того как сохраните один раз страницу, при повторном редактировании должно появляться версии языка. У меня новая версия не установлена но в старой часть кода должен быть такой:

.../templates/administrator/edit_page.tpl

{if count($langs) > 1}
                <div class="dropdown d-i_b">
                    <a class="btn dropdown-toggle btn-small" data-toggle="dropdown" href="#">
                        {foreach $langs as $l}
                        {if $page_lang == $l.id}
                        {$page_lang_identif = $l.identif}
                        {$l.lang_name}
                        {/if}
                        {/foreach}
                        <span class="caret"></span>
                    </a>
                    <ul class="dropdown-menu pull-right">
                        {foreach $langs as $l}
                        {if $l.id != $page_lang}
                        <li>
                            <a href="/admin/pages/edit/{$page_id}/{$l.id}">{$l.lang_name}</a>
                        </li>
                        {/if}
                        {/foreach}
                    </ul>
                </div>
                {/if}

Сделайте var_dump($langs);

Сделаю обновления вашего магазина до актуальной версии системы со вем переносом ваших товаров, просьба писать в приват.
https://novabench.com/image/742206.png

34

Re: ОШИБКА - Языки сайта ImageCMS Corporate

Спасибо AJIEKCAHDP! Работает. Правда еще подобную штуку нужно провернуть с category_edit.tpl. Получилось просто удалив {if My_Controller::isPremiumCms().
Правда на английской версии начались проблемы с главной, перестал отображаться слайдер и галерея. Не знаю, вряд ли это связано с этими изменениями, буду смотреть

Никита, от тех. поддержки сообщение: "Разработчики мониторят форум и, скорее всего предоставлят решение в рамках темы (если решение не будет предоставлено сообществом)
Спасибо!"

Thumbs up Thumbs down

35

Re: ОШИБКА - Языки сайта ImageCMS Corporate

My_Controller::isPremiumCms(). - Скорее всего в этом первая проблема, так как ЦМС основана на магазине, то код который они обновляют, остаёться и в ЦМС, а эта проверка на версию системы, только у Премиум есть поддержка мультиязычности.

Сделаю обновления вашего магазина до актуальной версии системы со вем переносом ваших товаров, просьба писать в приват.
https://novabench.com/image/742206.png