Перейти к содержимому


Дополнительные характеристики (варианты) со ссылками


  • Вы не можете ответить в тему
Сообщений в теме: 33

#1 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 30 October 2012 - 09:53 PM

Что-то давненько я не писал модулей просто ради удовольствия написания :). Восполняю.

Это дополнение позволяет вывод характеристики оформить как ссылку, если товару присущ только один вариант этой характеристики. Например, характеристика "Производитель". Вместо только текста с названием производителя можно сделать ссылочку на его сайт. Или характеристика "Вариант офигенности", где теперь можно поставить ссылку на дополнительную страницу с описанием конкретной офигенности, присущей этому товару.

(comment: технически нет проблем и при нескольких вариантах характеристики у товара ссылки сделать, но мне в голову так и не пришло, как красиво оформить эти ссылки при штатном выпадающем списке выбора варианта характеристики).


1. в файле catalog_extra.php

1.1 перед строкой


if (isset($_GET["save_successful"])) //update was successful


вставляем


$field = array ('Field' => 'option_url', 'Type' => 'varchar(255)', 'Default' => 'NULL');
$data = mysql_query("desc ".PRODUCTS_OPTIONS_VALUES_VARIANTS_TABLE);
$row = array();
while ($row[] = mysql_fetch_assoc($data));
$flag = true;
foreach ($row as $cur_row) if ($field['Field'] == $cur_row['Field']) {$flag=false; break;}
if ($flag) mysql_query("ALTER TABLE ".PRODUCTS_OPTIONS_VALUES_VARIANTS_TABLE." ADD ".$field['Field']." ".$field['Type']." DEFAULT ".$field['Default']);


1.2 строку


$updateOptions = ScanPostVariableWithId( array( "sort_order",


заменяем на


$updateOptions = ScanPostVariableWithId( array( "sort_order","option_url",




2. в файле catalog_extra.tpl.html

2.1 после строки


<td align="left" class="toph3" width="100%">{$smarty.const.ADMIN_ONE_VALUE}</td>


вставляем


<td align="left" class="toph3" width="100%">URL</td>


2.2 вместо строки


<tr><td height="4" colspan="3"></td></tr>


вставляем


<tr><td height="4" colspan="4"></td></tr>


2.3 после строки


<td align="left"><input name="option_value_{$values[i].variantID}" type=text value="{$values[i].option_value}" class="textp" size="30"></td>


вставляем


<td align="left"><input name="option_url_{$values[i].variantID}" type=text value="{$values[i].option_url}" class="textp" size="50"></td>



3. в файле option_functions.php

3.1 в функции optGetOptionValues($optionID)

строку


$q = db_query("select variantID, optionID, option_value, sort_order from ".


заменяем на


$q = db_query("select variantID, optionID, option_value, sort_order, option_url from ".


3.2 в функции optUpdateOptionValues($updateOptions)

после строки


" set option_value='".xToText($value["option_value"])."', ".


вставляем строку


" option_url='".xToText($value["option_url"])."', ".



4. в файле product_functions.php

4.1 в функции GetExtraParametrs( $productID )

строку


$sql = 'select povvt.option_value, povvt.variantID, post.price_surplus


заменяем на


$sql = 'select povvt.option_value, povvt.variantID, post.price_surplus, povvt.option_url


а после строки


$_Row['values_to_select'][$i]['option_value'] = $_Rowue['option_value'];


вставляем строку


$_Row['values_to_select'][$i]['option_url'] = $_Rowue['option_url'];



5. в файле product_brief.tpl.html

строку


{if $product_info.product_extra[i].values_to_select_count == 1} <b>{$product_info.product_extra[i].values_to_select[0].option_value}</b><br>


заменяем на


{if $product_info.product_extra[i].values_to_select_count == 1} <b>
{if $product_info.product_extra[i].values_to_select[0].option_url}
<a href='{$product_info.product_extra[i].values_to_select[0].option_url}' title='{$product_info.product_extra[i].values_to_select[0].option_url}'>{$product_info.product_extra[i].values_to_select[0].option_value}</a>
{else}
{$product_info.product_extra[i].values_to_select[0].option_value}
{/if}
</b><br>



6. в файле product_detailed.tpl.html

строку


{if $product_extra[i].values_to_select_count == 1} <b>{$product_extra[i].values_to_select[0].option_value}</b><br>


заменяем на


{if $product_extra[i].values_to_select_count == 1} <b>
{if $product_extra[i].values_to_select[0].option_url}
<a href='{$product_extra[i].values_to_select[0].option_url}' title='{$product_extra[i].values_to_select[0].option_url}'>{$product_extra[i].values_to_select[0].option_value}</a>
{else}
{$product_extra[i].values_to_select[0].option_value}
{/if}
</b><br>



Пример можно посмотреть вот тут - http://cpu.badisoft....troystva-Digma/ - дополнение ставилось с нуля строго по описанию.

А админка выглядит примерно так:

Прикрепленный файл  OptionUrl.JPG   61.83К   183 Количество загрузок:
  • 4
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#2 idal

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 243 сообщений
Репутация: 7
Начинающий
  • ГородКиев

Отправлено 31 October 2012 - 07:02 AM

Мне понравилось как сделано здесь www.jack-wolfskin.com/apparel/men/all-jackets/1101552-14th-peak-men.aspx.
В описании при наведении допустим на TEXAPORE O2 NAILHEAD 2L выскакивает подсказка.
Я так понимаю что это еще одна графа в характеристике товара "Описание".
  • 0

#3 Dbus

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 1116 сообщений
Репутация: 174
Мастер
  • ГородОдесса

Отправлено 31 October 2012 - 11:57 AM

idal, гуглите на тему "Tooltips", к данному топику это никакого отношения не имеет.
  • 0
502 Bad Gateway

#4 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 31 October 2012 - 12:17 PM

данному топику это никакого отношения не имеет.

Еще как имеет :). Это очень хороший пример, как нечетко сформулированное ТЗ приводит к написанию совсем не того, что имелось в виду. Я прочитал заявку idal в "купить/продать/заказать" и подумал, что описанное довольно просто и денег не стоит. Написал, выложил, а это оказалось вовсе не то, о чем писалось. Совсем не то, в принципе :).

PS. Когда я возился с табами на jquery (насколько помню) мне попадалось описание, как сделать такие всплывающе-выпадающие красивости с помощью этой библиотеки. Но тогда оно было не надо и я прошел мимо.
  • 1
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#5 Dbus

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 1116 сообщений
Репутация: 174
Мастер
  • ГородОдесса

Отправлено 31 October 2012 - 12:25 PM

Это очень хороший пример, как нечетко сформулированное ТЗ приводит к написанию совсем не того, что имелось в виду.

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

PS. Когда я возился с табами на jquery (насколько помню) мне попадалось описание, как сделать такие всплывающе-выпадающие красивости с помощью этой библиотеки. Но тогда оно было не надо и я прошел мимо.

Вариантов много, мне очень в этом плане нравится twitter bootstrap, особенно когда нужно сделать что-то быстро и красиво, не особо влезая в заморочки с дизайном.
  • 0
502 Bad Gateway

#6 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 31 October 2012 - 12:46 PM

Еще как имеет . Это очень хороший пример, как нечетко сформулированное ТЗ приводит к написанию совсем не того, что имелось в виду. Я прочитал заявку idal в "купить/продать/заказать" и подумал, что описанное довольно просто и денег не стоит. Написал, выложил, а это оказалось вовсе не то, о чем писалось. Совсем не то, в принципе .


Да, я тоже подумал также когда увидел пост idal, ведь изначально разговор шел не о всплывающих подсказках, но этот вариант со ссылками довольно полезная штука ). Так что думаю это даже хорошо, что ты его не правильно понял ))).
  • 0

#7 Dbus

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 1116 сообщений
Репутация: 174
Мастер
  • ГородОдесса

Отправлено 31 October 2012 - 12:50 PM

Я обычно прошу клиентов показать пример, т.к. чаще всего они не берут идеи из головы, а замечают на каких-то "дружественных" сайтах.

Так что думаю это даже хорошо, что ты его не правильно понял ))).

+1 :)
  • 0
502 Bad Gateway

#8 idal

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 243 сообщений
Репутация: 7
Начинающий
  • ГородКиев

Отправлено 31 October 2012 - 01:59 PM

Еще как имеет :). Это очень хороший пример, как нечетко сформулированное ТЗ приводит к написанию совсем не того, что имелось в виду. Я прочитал заявку idal в "купить/продать/заказать" и подумал, что описанное довольно просто и денег не стоит. Написал, выложил, а это оказалось вовсе не то, о чем писалось. Совсем не то, в принципе :).

Ниже в том посте я немного уточнил.

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

но этот вариант со ссылками довольно полезная штука )

100%

Спасибо badisoft
  • 0

#9 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 31 October 2012 - 02:24 PM

нужно чтобы отмеченные характеристики (картинки) появились в полном описании и при наведении на ту или иную характеристику (картинку) высвечивалась подсказка с описанием (характеристики).

Именно "картинки" - это критично? В приведенном примере именно слова и я подумаваю, как бы это красиво реализовать. На мой взгляд, удобно будет в тестовом описании товара вставлять тег [характеристика] (имя варианта характеристики в квадратных скобках). При нахождении такого тэга (и если "характеристика" есть среди описанных характеристик) вместо него вставляется некий код, результатом которого как раз и будет всплывающее окошко-сноска с содержимым текстового дополнительного поля в описании характеристики.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#10 idal

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 243 сообщений
Репутация: 7
Начинающий
  • ГородКиев

Отправлено 31 October 2012 - 04:01 PM

Именно "картинки" - это критично?


Было бы суперски, если была и картинка (в моем случаи значок технологи, так как много людей знают технологию по значку) и ссылка.

будет всплывающее окошко-сноска с содержимым текстового дополнительного поля в описании характеристики.

Можно будет в дополнительное поле (описание характеристик) вставить картинку (путь), если да то просто супер ?

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

Как я выше писал у меня характеристика "Технологии" и в ней много технологий, в одного производителя порядка 20 технологий а производителей около десятка, я к чему это написал, не будет ли это очень влиять на на скорость загрузки страницы и вообщем на работу самого сайта.
Спасибо.

В дополнений к теме советую прикрутит вот такую штуку alaev.info/blog/post/4042, это уже боле к сео. чтобы не передавать вес страницы, так как у Вас badisoft в например на сайте стоит очень много внешних ссылок.
  • 0

#11 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 31 October 2012 - 04:59 PM

так как у Вас badisoft в например на сайте стоит очень много внешних ссылок

1. Да и фиг с ними. Мне на этом сайте ни ТИЦ/PR совершенно не важен, ни посещаемость, ни положение в поисковой выдаче.
2. Их уже нет недели две, если не больше. Они были от модуля Referer, демонстрационно. Убрал, т.к. эта простыня со ссылками стала занимать слишком большой процент объема страницы.

PS. Но идея со span вместо href действительно интересная.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#12 idal

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 243 сообщений
Репутация: 7
Начинающий
  • ГородКиев

Отправлено 31 October 2012 - 10:09 PM

так как у Вас badisoft в например на сайте стоит очень много внешних ссылок.

Просто в пример.

Их уже нет недели две, если не больше.

Я имел ввиду эти ссылки Digma. Просто может быть такое на пример, что на на одой странице а может и не на одной, будет десятки лишних ссылок. Я так понял с той статьи что плюс с этого, что роботы просто считывает это как чистый текст, если закрывать <noindex>абц</noindex>, то абц, просто будет проигнорирован.
  • 0

#13 worderes

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 31 сообщений
Репутация: 1
Начинающий

Отправлено 15 November 2012 - 12:05 PM

Подскажите почему не работает ссылка когда три позиции (Имя на мяч), а когда одна то работает?
И чего может не работать добавочная сума на фильтре в полном описании товара http://opentech.com.ua/product_8.html? В кратком описании работает http://opentech.com....ategory_65.html
Изображение
  • 0

#14 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 15 November 2012 - 12:33 PM

одскажите почему не работает ссылка когда три позиции (Имя на мяч), а когда одна то работает?

Потому, что так написано. Например, во второй строке первого сообщения этой темы.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#15 worderes

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 31 сообщений
Репутация: 1
Начинающий

Отправлено 15 November 2012 - 02:19 PM

А как реализовать такое только не выпадающим списком? Кто то может подсказать?


одскажите почему не работает ссылка когда три позиции (Имя на мяч), а когда одна то работает?

Потому, что так написано. Например, во второй строке первого сообщения этой темы.


  • 0

#16 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 15 November 2012 - 07:56 PM

А как реализовать такое только не выпадающим списком? Кто то может подсказать?

Подсказать - запросто! Используйте смарти для списка ссылок <a href> , а не для создания option селекта.

PS. ссылки выпадающим списком - прикольная идея, почему бы и нет?
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#17 worderes

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 31 сообщений
Репутация: 1
Начинающий

Отправлено 15 November 2012 - 07:59 PM

Подсказать - запросто!


:)
А подробней можно?
Заранее спасибо!!! :)
  • 0

#18 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 15 November 2012 - 08:03 PM

А подробней можно?

Ну конечно можно!
http://www.smarty.net/docsv2/ru/
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#19 pavel77

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 116 сообщений
Репутация: 10
Начинающий

Отправлено 01 April 2013 - 10:46 PM

Это дополнение позволяет вывод характеристики оформить как ссылку, если товару присущ только один вариант этой характеристики. Например, характеристика "Производитель". Вместо только текста с названием производителя можно сделать ссылочку на его сайт. Или характеристика "Вариант офигенности", где теперь можно поставить ссылку на дополнительную страницу с описанием конкретной офигенности, присущей этому товару.


Появился один табл (по крайне мере для меня)
Создаваемая характеристика (один вариант для 1 товара) - начинает учитываться при добавлении в корзину.
  • 0

#20 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 02 April 2013 - 12:04 AM

Создаваемая характеристика (один вариант для 1 товара) - начинает учитываться при добавлении в корзину.

"Начинает учитываться" - это как? Название варианта этой характеристики добавляется к тексту названия товара? Так оно и без этого дополнения ровно так же добавляется.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)