Мультивариант + мультиязычность.

Alekxander

Мой дом здесь!
Регистрация
3 Янв 2018
Сообщения
470
Реакции
219
Может кто-нибудь подскажет как решить проблему мультиварианта и мультиязычности.
У товара мультивариант (цвет+размер). При создании дочерних товаров делаю мультивариант, где создаю варианты размера и цвета.
Проблем в том, что языковые константы не срабатывают. На сайте выводятся конкретные названия, которые прописаны в вариантах.
virtuemart multi.PNG
 
Может кто-нибудь подскажет как решить проблему мультиварианта и мультиязычности.
У товара мультивариант (цвет+размер). При создании дочерних товаров делаю мультивариант, где создаю варианты размера и цвета.
Проблем в том, что языковые константы не срабатывают. На сайте выводятся конкретные названия, которые прописаны в вариантах.
Посмотреть вложение 116172
все правильно! а чтобы выводились языковые переменные - нужно как-то их в языковые константы переиначить (и далее, наверное, через переопределение языков, для каждого, прописать)
 
все правильно! а чтобы выводились языковые переменные - нужно как-то их в языковые константы переиначить (и далее, наверное, через переопределение языков, для каждого, прописать)
Вот например вместо "Цвет" прописываю "COM_VIRTUEMART_COLOR_PRODUCT".
Соответственно в переопределении констант прописываю для каждого языка своё название.
Но в карточке товара выводится - "COM_VIRTUEMART_COLOR_PRODUCT".
 
Вот например вместо "Цвет" прописываю "COM_VIRTUEMART_COLOR_PRODUCT".
Соответственно в переопределении констант прописываю для каждого языка своё название.
Но в карточке товара выводится - "COM_VIRTUEMART_COLOR_PRODUCT".
посмотрите как это сделано в исходниках вирта, там нужен еще и правильный синтаксис
 
посмотрите как это сделано в исходниках вирта, там нужен еще и правильный синтаксис
Я так понимаю, вы имеете ввиду что нужно переписывать вывод данных полей. По типу других.
Вот например у меня есть такие поля для мультиязычности. Я так понял они априори уже могут языковые константы. Это константа - Размер.
virtuemart multi2.PNG
 
типа такого 'COM_VIRTUEMART_COLOR_PRODUCT' ----- ' внутри одинарных кавычек, чтобы система поняла что это не текст, а функция '
-- подобное может и сразу сработать, а может и придется танцевать... (проделывал народ) но кавычки одинарные поставьте, дальше видно будет, схавает или нужно еще допиливыть
 
типа такого 'COM_VIRTUEMART_COLOR_PRODUCT' ----- ' внутри одинарных кавычек, чтобы система поняла что это не текст, а функция '
-- подобное может и сразу сработать, а может и придется танцевать... (проделывал народ) но кавычки одинарные поставьте, дальше видно будет, схавает или нужно еще допиливыть
Спасибо вам за помощь.
Просто прописать в одинарных кавычках не проконало.
Думаю там вывод заголовка уже изначально в коде как-то определён, что его можно вывести языковой константой.
А вот при создании мультиварианта такое не предусмотрено. Система выводит поля тупо как текст, который прописан в админке.
Не уверён, но вроде бы нашёл код вывода.
PHP:
<table class="admintable">
        <?php echo $this->displayCustomFields($this->custom); ?>
        <tr id="custom_plg">
        <td valign="top"><?php echo vmText::_('COM_VIRTUEMART_SELECT_CUSTOM_PLUGIN') ?></td>
        <td>
            <fieldset>
            <?php if (!$this->custom->form) {
                echo $this->pluginList;
            } ?>
                <div class="clear"></div>
                <div id="plugin-Container">
                <?php
                defined('_JEXEC') or die('Restricted access');
                if ($this->custom->form) {
                    ?>
                    <h2 style="text-align: center;"><?php echo vmText::_($this->custom->custom_title) ?></h2>
                    <div style="text-align: center;"><?php echo VmText::_('COM_VIRTUEMART_CUSTOM_CLASS_NAME').": ".$this->custom->custom_element ?></div>
                    <?php
                    if ($this->custom->form) {
                        $form = $this->custom->form;
                        include(VMPATH_ADMIN .'/fields/formrenderer.php');
                    }
                } else {
                    echo vmText::_('COM_VIRTUEMART_SELECT_CUSTOM_PLUGIN');
                }
                ?>
                </div>
            </fieldset>
        </td>
            </tr>
        <?php //} ?>
    </table>
    </fieldset>
</form>
PHP:
<div class="removable"><select id="selectoptions1" name="field[0][selectoptions][1][voption]" style="display: none;" class="chzn-done">
    <option value="">Выберите</option>
    <option value="product_name">Название товара</option>
    <option value="product_sku">Артикул</option>
    <option value="slug">Псевдоним товара</option>
    <option value="product_length">Длина</option>
    <option value="product_width">Ширина</option>
    <option value="product_height">Высота</option>
    <option value="product_weight">Вес</option>
    <option value="clabels" selected="selected">Использовать произвольный ярлык</option>
</select><div id="selectoptions1_chzn" class="chzn-container chzn-container-single" style="width: 1491px;"><a href="javascript:void(0)" class="chzn-single"><span>Использовать произвольный ярлык</span><div><b></b></div></a><div class="chzn-drop" style="left: -9000px; width: 1489px; top: 28px;"><div class="chzn-search"><input type="text" autocomplete="off" style="width: 1454px;"></div><ul class="chzn-results"><li id="selectoptions1_chzn_o_0" class="active-result" style="">Выберите</li><li id="selectoptions1_chzn_o_1" class="active-result" style="">Название товара</li><li id="selectoptions1_chzn_o_2" class="active-result" style="">Артикул</li><li id="selectoptions1_chzn_o_3" class="active-result" style="">Псевдоним товара</li><li id="selectoptions1_chzn_o_4" class="active-result" style="">Длина</li><li id="selectoptions1_chzn_o_5" class="active-result" style="">Ширина</li><li id="selectoptions1_chzn_o_6" class="active-result" style="">Высота</li><li id="selectoptions1_chzn_o_7" class="active-result" style="">Вес</li><li id="selectoptions1_chzn_o_8" class="active-result result-selected" style="">Использовать произвольный ярлык</li></ul></div></div>
<input type="text" value="Колір:" name="field[0][selectoptions][1][clabel]" style="line-height:2em;margin:5px 5px 0;"><textarea name="field[0][selectoptions][1][values]" rows="5" cols="35" style="float:none;margin:5px 5px 0;">Бежевий
Голубий
Теракот
Чорний
</textarea><span class="vmicon vmicon-16-remove 4remove"></span></div>
 
Я так понимаю, вы имеете ввиду что нужно переписывать вывод данных полей. По типу других.
Вот например у меня есть такие поля для мультиязычности. Я так понял они априори уже могут языковые константы. Это константа - Размер.
Посмотреть вложение 116186
так, это Вы где - на странице товара? сделайте в глобальных настройках настраиваемых полей!! т.е. сам заголовок из переменной чтобы был (попробуйте без кавычек);
на странице товара в админке в полях, будет надпись из этой переменной - а на сайте подхватывать из перевода констант - должно получиться:work:
мультиязычность вирта включена? кстати не спросил ранее))
 
так, это Вы где - на странице товара? сделайте в глобальных настройках настраиваемых полей!! т.е. сам заголовок из переменной чтобы был (попробуйте без кавычек);
на странице товара в админке в полях, будет надпись из этой переменной - а на сайте подхватывать из перевода констант - должно получиться:work:
мультиязычность вирта включена? кстати не спросил ранее))
Мультиязычность включена и всё работает.
В глобальных настройках тоже всё нормально. Есть несколько настраиваемых полей, где в заголовках прописаны языковые константы. Работают. То что вы описываете. У меня немного другая ситуация.
В данной теме поднял вопрос создания мультиязычности именно в настройках отдельного товара. Это только у тех товаров, где нужны дочерние, чтобы создавать мультиварианты товара (цвет и размер).
И вот здесь у меня непонятка. Видимо не учли такой нюанс разработчики. При создании мультиварианта выводится тупо текст, который я пишу. Не комильфо. (
 
Мультиязычность включена и всё работает.
В глобальных настройках тоже всё нормально. Есть несколько настраиваемых полей, где в заголовках прописаны языковые константы. Работают. То что вы описываете. У меня немного другая ситуация.
В данной теме поднял вопрос создания мультиязычности именно в настройках отдельного товара. Это только у тех товаров, где нужны дочерние, чтобы создавать мультиварианты товара (цвет и размер).
И вот здесь у меня непонятка. Видимо не учли такой нюанс разработчики. При создании мультиварианта выводится тупо текст, который я пишу. Не комильфо. (
не совсем тогда понятно, как реализованы мультиварианты...
 
Назад
Сверху