Перейти к содержанию
Форум поддержки пользователей VamShop

Привязать картинку к языку


Рекомендуемые сообщения

Как привязать картинку в шаблоне бокса к языку. Тоесть, скажем у меня картинка в заголовке блока должна выводиться разная в зависимости от текущего языка.

Ссылка на сообщение
Поделиться на другие сайты

В html шаблоне пиши что-то вроде:


<img src="/images/{$smarty.session.language}/1.gif">
[/code]

т.е. если например текущей язык магазин русский - будет выводиться /images/russian/1.gif

Если английский - /images/english/1.gif

Примерно так.

Ссылка на сообщение
Поделиться на другие сайты

Я специально удалил картинки языков, это ж не логично, национальный флаг не обязательно ведь ассоциируется с языком, например, на русском ведь не только в России говорят и ставить русский флажок для русского языка неправильно, imho, лучше просто название языка использовать.

Вообще, нужно править /templates/шаблон/source/boxes/languages.php

Заменить:


    $languages_string .= ' <a href="' . vam_href_link(basename($PHP_SELF), 'language=' . $key.'&'.vam_get_all_get_params(array('language', 'currency')), $request_type) . '">' . $value['name'] . '</a> ';

[/code] на:
[code]
    $languages_string .= ' <a href="' . vam_href_link(basename($PHP_SELF), 'language=' . $key.'&'.vam_get_all_get_params(array('language', 'currency')), $request_type) . '">' . vam_image('lang/' .  $value['directory'] .'/' . $value['image'], $value['name']) . '</a> ';

Ссылка на сообщение
Поделиться на другие сайты

Ой... в блоке языковом все отлично работает а вот мне надо что бы эти самы флажки показывались в каком нибудь другом блок... к пример скажем в блоке категорий... Как быть?

Ссылка на сообщение
Поделиться на другие сайты

Само содрежимое бокса категорий формируется в /templates/vamshop/source/inc/vam_show_category.inc.php

Там тебе перед ссылкой на категорию нужно вставлять картинку, наверное как-то так, заменить в этом файле:


    $categories_string .= $img_1;
    $categories_string .= '<div class="boxMenuCategory"><a href="';
    } else {
    $categories_string .= '<div class="boxMenuSubCategory'.($foo[$counter]['level']+1).'"><a href="';
    }
[/code] на:
[code]
    $categories_string .= $img_1;
    $categories_string .= '<img src="lang/' . $_SESSION['language'] . '/icon.gif"><div class="boxMenuCategory"><a href="';
    } else {
    $categories_string .= '<img src="lang/' . $_SESSION['language'] . '/icon.gif"><div class="boxMenuSubCategory'.($foo[$counter]['level']+1).'"><a href="';
    }

Но это ж не будет два бокса, просто будет картинка текущего языка напротив название категории.

Ссылка на сообщение
Поделиться на другие сайты

Не Саш, ты не понял, мне надо примерно такой бокс создать:

<table>

<tr>

<td>

Выводим категории

</td>

<td>

Выводим флажки для переключения языков

</td>

</tr>

</table>

Ссылка на сообщение
Поделиться на другие сайты

Так просто в /templates/шаблон/index.html поставь метки категории и языки друг под другом, т.е. так:


{$box_CATEGORIES}
{$box_LANGUAGES}
[/code]

Затем отредатируй шаблоны этих меток:

/templates/шаблон/boxes/languages.html и categories.html

Ссылка на сообщение
Поделиться на другие сайты

Не Саш, ты опять не понял меня... Вот выводим блок:

{$box_CATEGORIES}
А он виводит категории и переключения языков. Т.е. как бы два блока в одном. Как сие реализовать? Вот набрасал пример шаблона блока категорий:
{config_load file="$language/lang_$language.conf" section="boxes"}
<table width="100%" border="0" cellpadding="2" cellspacing="0">
  <tr>
    <td class="infoBoxHeading"><table width="100%"  border="0" cellpadding="0" cellspacing="0">
  <!-- tr>
    <td height="14" class="infoBoxHeading"><img src="{$tpl_path}img/infobox/corner_right_left.gif" border="0" alt="" /></td>
    <td width="100%" height="14" class="infoBoxHeading"><span class="categoriesBox">{#heading_categories#}</span></td>
  </tr -->
  <tr>
    <td><img src="/lang/{$smarty.session.language}/images/categories.gif"></td>
    <td>Eng</td>
    <td>&nbsp;</td>
    <td>Rus</td>
    <td height="14" class="infoBoxHeading"><img src="{$tpl_path}img/pixel_trans.gif" border="0" alt="" width="11" height="14" /></td>
  </tr>
      </table></td>
  </tr>
  <tr>
    <td class="infoBox" align="left"><table width="95%"  border="0" cellpadding="2" cellspacing="0">
        <tr>
          <td class="blockTitle">{$BOX_CONTENT}</td>
        </tr>

    </table></td>
  </tr>
</table>[/code]

Ссылка на сообщение
Поделиться на другие сайты

Ну а зачем тебе два в одном?

Просто сделай два html-шаблона так что б выглядило как один бокс.

т.е. в categories.html убери низ, а в languages.html убери шапку.

Вот как здесь http://vamshop.ru/demo/?style=light

три бокса - Разделы, информация, узнайте больше, выглядят как один Разделы.

Это ж я просто html поправил в шаблонах боксов и всё.

Сделай точно также, просто поправь html.

Ссылка на сообщение
Поделиться на другие сайты

Аааа... понял!!! в index.htm выставляем два бокса рядом {$box_CATEGORIES}{$box_LANGUAGES} а в темплейте первова бокса не закрываем таблицу а закрываем ее в темплейте второго бокса... Так получаеться?

Ссылка на сообщение
Поделиться на другие сайты

А как реализовать сие в шаблоне vamshop? С таблицами понятно все а вот с дивами не имел дела. Подскажите кто нибудь плиз...

Ссылка на сообщение
Поделиться на другие сайты

На дивах ещё проще, просто убери из бокса заголовок h5.../h5 и всё.

Всё остальное в css делается, т.е. если нужны рамки всякие и т.д.

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...