Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

Вывод товаров и категорий таблицей

Вывод в шаблоне default товаров и категорий таблицей - дублируют тупо в низ.
http://ping.biz.ua/shop/ScreenShot004.bmp http://ping.biz.ua/shop/ScreenShot005.bmp

Роспакуйте папку в корень шаблона default.

Добавте в файл - style.css в низу такое:


.contents_border {width: 100%; background: #e0dede;}
.contents_box {padding: 3px 0 0 5px; color:#101010; background: #f9fbff;}
.contentBoxContents1{}
.boxText{}

При добавлении или редактирования товаров и категорий, выбираете такие файлы - для табличного вывода категорий: categorie_listing1.html, для табличного вывода товаров: product_listing_table_list.html.


Есть ли настройка вывода товаров по одному в строку, т.е. что бы не переключать во всех категориях (и подкатегориях) на нужный шаблон?


Если я вас правильно понял, тогда на это время могу предложить пока что такой вариант: удалите все файлы из папки product_listing кроме product_listing_table_list.html. Будет вам

по одному в строку


Соглашусь.
Методом научного тыка определил, что по умолчанию используется шаблон, который первый по алфавиту.
Добавил свой, взяв за основу product_listing_list.html  и "обозвал" его  current_product_listing_list.html . Таким образом он теперь активен по умолчанию. Что и требовалось.


тож хитрая махинация =) я бы просто отредактировал шаблон каторый и так стоял по дефолту =)


Помогите пожалуйста ночами не спавшему неудачному скриптеру  ;D

Собственно делал эту таблицу можно бы было сказать для того что бы с помощью Java заменить уже имеющийся отображения товаров.

А именно :

сделал под таблицу table_list.js файл с таким содержимым

function AquireLinkTip(linkid,linkhref,linktext,img)
{
    var element = document.getElementById(linkid);
    var content = "";
   
    //Создаем ссылку
    content += "<a onmouseover=\"SwitchLinkTip('" + linkid + "_FLY','show')\" onmouseout=\"SwitchLinkTip('" + linkid + "_FLY','hide')\" id=\"" + linkid + "_LINK\" href=\"" + linkhref + "\">" + linktext + "</a>";
   
    //Создаем контейнер
    content += "<div class=\"flyblock\" id=\"" + linkid + "_FLY\" href=\"\">";
   
    content += "<img src=\"" + img + "\" />"
   
    content += "</div>";
   
    //На вывод
    element.innerHTML = content;
}

function SwitchLinkTip(tid,tact)
{
    switch (tact)
    {
        case "show":
        document.getElementById(tid).style.display = 'block';
        break;
        case "hide":
        document.getElementById(tid).style.display = 'none';
        break;
    }
}


потом ковырнул саму таблицу default\module\product_listing\product_listing_table_list.html  внес такие изменения, где
{config_load file="$language/lang.conf" section="index"}

снизу добавил <script type="text/javascript" src="jscript/table_list.js"></script>

далее идёт уже сам вызов с таблицы, где    {foreach name=aussen item=module_data from=$module_content}
  {php} $col++;
  {/php}
<SCRIPT LANGUAGE="JavaScript">
AquireLinkTip("FIRSTLINK","{$module_data.PRODUCTS_LINK}","{$module_data.PRODUCTS_NAME}","{$module_data.PRODUCTS_IMAGE}");
</SCRIPT>
<td class="contents_box"><span id="FIRSTLINK"></span></td><td class="contents_box"><strong>{$module_data.PRODUCTS_PRICE}</strong>{$module_data.PRODUCTS_TAX_INFO}{if $module_data.PRODUCTS_VPE}{$module_data.PRODUCTS_VPE}{/if}</td><td class="contents_box">
{if $module_data.PRODUCTS_SHIPPING_NAME}{#text_shippingtime#}{if $module_data.PRODUCTS_SHIPPING_IMAGE}<img src="{$module_data.PRODUCTS_SHIPPING_IMAGE}" alt="{$module_data.PRODUCTS_SHIPPING_NAME}" />{/if}{$module_data.PRODUCTS_SHIPPING_NAME}{/if}</td><td class="cart_contents_box">{$module_data.PRODUCTS_BUTTON_BUY_NOW_NEW}</td>
  {php}
  if ($col>=1) {
  $col=0;
  echo '</tr><tr>';
  }
  {/php}
  {/foreach}


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


А что нужно сделать ? изменить вывод товаров?
Типа по клику переключать вывод из табличного в какой то другой? и наоборот ? так?


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


если я тебя правильно понял то у тебя 5 колесный велосипед


<table>
<tr>
<td onMouseOver="document.getElementById('info').style.visibility='visible';" OnMouseOut="document.getElementById('info').style.visibility='hidden'">
ИМЯ ТОВАРА
<div style="visibility: hidden" id="info">fdfdf</div>
</td>
</tr>
</table>

с дивами кстати можно поигратся, дать рамку, фон, если нада сделать вложеность и отпозиционировать =)
это конечно же при условии отсутсвия аякса =) но в твоем примере даже намека на онного не нашел


*оффтоп: кстати JAVA и JAVASCRIPT это абсолютно разные вещи

покурил еще

<table border="3" bordercolor="#C0C0C0">
<tr>
<td onMouseOver="document.getElementById('info').style.display='block';" OnMouseOut="document.getElementById('info').style.display='none'">
ИМЯ ТОВАРА
<div style="display: none" id="info">fdfdf</div>
</td>
</tr>
</table>
если не утроит чет, пиши докурю


а как ты подключал table_list.js  к шаблону

{ldelim},{rdelim}

{ldelim} и {rdelim} используются для предотвращения обработки разделителей, по-умолчанию "{" и "}". Вы также можете использовать блок {literal}{/literal} для предотвращения обработки блоков текста, например кода Javascript или CSS. См. также {$smarty.ldelim}

Более детально в 0ф. мануале шаблонизатора smarty
http://www.smarty.net/manual/ru/language.function.ldelim.php


Bogus в IE выдает ошибка сценария загрузка картинок не происходит.
тут оптимальный вариант тот который я предложил только бы его сделать без глюков, если кто знает помогите


ошибка сценария??? ты что то некоректно написал, код изначально под условия ИЕ написан, в других браузерах могли бы быть ошибкт но и то не факт. ладно поковряю у себя, чуть что выкину решение.


кстати я у себя сделал, ты посмотри, ато я удалю через пару дней =)

наводи на картинку, увидишь появляющуюся форму, оформление неделал так что сори

_http://www.sportmarket.net.ua/index.php?cat=12

если устроит то обьясню смысл, тоделывать на свой шаблон будешь сам =) ну или 20 баксов =))))) и тебе это сделет кто угодно


У тебя не увидел, наверное удалил.

Что я здесь делаю не так ?


<div onMouseOver="document.getElementById('info').style.display='block';" OnMouseOut="document.getElementById('info').style.display='none'"><strong><a href="{$module_data.PRODUCTS_LINK}"><div>{$module_data.PRODUCTS_NAME}</div><div style="display: none" id="info"><img src="{$module_data.PRODUCTS_IMAGE}" alt="{$module_data.PRODUCTS_NAME}" title="{$module_data.PRODUCTS_NAME}" /></div></a></strong></div>

выводит всего одну и туже картинку даже если наводить курсор на разные ссылки товаров.


нет не удалил, наводи именно на картинку товара в любом разделе (именно в разделе с товарами, влом переписывать на титулку). основная ошибка в document.getElementById('info') - сам подумай, у тебя веть не один елемент срабатывает, а множество елементов и каждому нужен уникальный ID.

ща в личку тебе кину аську, дерни мну завтра днем =)

решил подсказать =)

не так document.getElementById('info').style.display
а вот так document.getElementById('info'+АЙДЫ_ТОВАРА).style.display - к примеру ну и результативный ДЫВ тогда тоже не <div style="display: none" id="info"> а <div style="display: none" id="infoАЙДЫ_ТОВАРА">



<a href="{$module_data.PRODUCTS_LINK}"><div>{$module_data.PRODUCTS_NAME}</div><div style="display: none" id="info"><img src="{$module_data.PRODUCTS_IMAGE}" alt="{$module_data.PRODUCTS_NAME}" title="{$module_data.PRODUCTS_NAME}" /></div></a>

а де логика то О_о ты делаешь ссылку два дива O_o, одиз каторый активно появляется и исчезает, тоесть кликнуть по нему просто анрил =)



нет не удалил, наводи именно на картинку товара в любом разделе (именно в разделе с товарами, влом переписывать на титулку). основная ошибка в document.getElementById('info') - сам подумай, у тебя веть не один елемент срабатывает, а множество елементов и каждому нужен уникальный ID.

ща в личку тебе кину аську, дерни мну завтра днем =)

решил подсказать =)

не так document.getElementById('info').style.display
а вот так document.getElementById('info'+АЙДЫ_ТОВАРА).style.display - к примеру ну и результативный ДЫВ тогда тоже не <div style="display: none" id="info"> а <div style="display: none" id="infoАЙДЫ_ТОВАРА">

спасибо за подсказки, но я не понимаю даже как оно и близко выглядит.
не мог бы ты сразу кинуть сюда готовое решение ?
У тебя на прикреплённом файле то что мне нужно  ;)


эхххх, что с Вас взять. Ща валю спать, проснусь выкину тебе решение. но на шаблон то свой всеравно самому натягивать :D


спасибо и на том  ;)


так выкладываю файлик, он рабочий, сделан не так как всем хочетсо а просто для наглядности работы, каждый переделывает на свой вкус и цвет и к автору претензий не имеет  :P

если комуто что то не понятно из того как работает то обьясню только в случае оч хорошего настроения  :-*


Спасибо дружище, сейчас буду пробовать


ану ссылку пожалуйста где работает этот скрипт 8)



ану ссылку пожалуйста где работает этот скрипт 8)
удалил уже :'( ты издеваешся, дай сюда свой шаблон я тебе сам сделаю О_о


::) аймсори, держи


я те даже кнопочку додумал, если захочешь заменишь ну или пикчер к кнопопчке найдешь


бооольшое спасибо, в долгу не останусь  ;)


Источник



Copyright ShopOS