EasyWeb.org.ua
  • Главная
    • shop-script
    • акции
    • php
    • javascript
    • joomla
    • wordpress
    • docs
    • internet
    • объявления
    • other
  • Вопрос ответ
  • Портфолио
  • Модули
  • Обратная связь
  • О блоге
    • Каталог сайтов
    • Карта сайта
Главная » shop-script » Метки на странице товара
Авг25 27

Метки на странице товара

Опубликовано в shop-script

Выводим все метки товара на странице с подробным описание товара.

Красиво, удобно, полезно для сео.

Через админ-часть заходим в раздел Дизайн редактируем текущую тему, выбираем закладку Продукт

И в том месте, где хотим отображать наши метки вставляем {tags}

В папке /kernel/includes/smarty/plugins создаем файл function.tags.php со следующим кодом:

<?php
function smarty_function_tags( $params, &$smarty )
  {
  $disp='Метки:';
  $sql='select tag_id from SC_tagged_objects where object_type="product" and object_id='.$_GET['productID'];

  if($r=mysql_query($sql))
  while($res=mysql_fetch_assoc($r)){
  $sql2='select name from SC_tags where id='.$res['tag_id'];
  if($r2=mysql_query($sql2))
  $tags=mysql_fetch_assoc($r2);
  $disp.='&nbsp;&nbsp;<a href="/search/?searchstring='.$tags['name'].'">'.$tags['name'].'</a>';
  }
  return $disp;
  }
?>

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

И этот пример для нормальных урлов (вида: /products/product_name/) — настраивается в инсталлере.

Нужны модификации — обращайтесь.

Метки: shop-script, webasyst, метки, теги

« Предыдущая запись

Модуль «Уведомить о поступлении»

Следующая запись»

Убираем auxpage_ у дополнительныйх страниц



Просмотров: 971

Похожие записи:

  • Webasyst Shop-Script новгодняя распродажа
  • Слайдер в списках продуктов
  • Автоматическое заполнение рекомендуемых товаров
  • Осенние скидки на скрипты WebAsyst
  • Горячее предложение от WebComplIT

27 Коммент.

  1. Никита | 10 октября 2009 at 21:32

    Добрый вечер. Все сделал как описано в статье, только вот не пойму как вставить {tags} — т.е. это нужно через вкладку «Редактировать HTML-код», а там куда конкретно вставлять. Когда вставил фразу {tags} появилось пять знаков вопроса после двоеточие а потом мои теги. я так понимаю что вместо знаков вопроса должно быть слово метки. и еще как уменьшить шрифт данных тегов. За ранее спасибо =)

    Ответить
  2. Артем | 11 октября 2009 at 21:38

    да. сделать через редактор html
    знаки вопроса из-за неверной кодировки. файл плагина нужно сохранить в кодировки utf-8
    а шрифт уменьшить: заключити {tags} в какой-нибудь div и назнаачьте ему класс. например:

    {tags}

    и в css пишите:
    .mytags {стиль слова «метки»}
    .mytags а {стиль меток}

    Ответить
  3. Влад | 18 февраля 2010 at 15:10

    Всё сделал как написано но у меня не отображаеться, помогите пожалуйста!

    Ответить
  4. Артем | 19 февраля 2010 at 0:48

    помогаю)

    если сами не можете установить — обратитесь к тем, кто в этом разбирается

    Ответить
  5. Виктор | 26 марта 2010 at 19:24

    Нет, серьезно. У меня та же проблема. Создал файл function.tags.php в папке /kernel/includes/smarty/plugins. Скопировал в него ваш скриптик.
    Через редактор дизайна «изменяя html» вставил {tags}. Сохранил — ничего не отображается. Вообще ничего….

    Ответить
    • Виктор | 26 марта 2010 at 19:38

      Да, и метки у меня есть в товарах. Это не из-за их отсутствия…

      Ответить
      • Артем | 26 марта 2010 at 21:09

        это очень простой скрипт. по идее должно работать
        если нет даже слова «метки», то плагин вообще не вызывается
        покажите сайт, пожалуйста

        Ответить
  6. zmeika | 24 апреля 2010 at 15:53

    Да, что-то тут не так…у меня тоже не хочет работать

    Ответить
  7. Alexey | 3 февраля 2011 at 12:24

    Привет! Все работает отлично! Но есть один ньюанс . Как скрыть слово «метки» если на товаре нет ни одного тега. Как правильно задать условие? Спасибо.

    Ответить
    • Артем | 3 февраля 2011 at 14:32

      Перенесите
      $disp=’Метки:’;

      под
      if($r=mysql_query($sql))

      и добавьте перед ним првоерку:
      if(mysql_num_rows($r)>0)

      Ответить
      • Alexey | 17 февраля 2011 at 15:11

        Артем спасибо! Все получилось!

        Ответить
  8. Владимир | 18 апреля 2011 at 23:33

    Можете доработать скрипт чтоб теги показывались в соответсвтие с выбраным языком, а не все подряд :) Спасибо!

    Ответить
    • Артем | 19 апреля 2011 at 10:01

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

      сделаете раньше — делитесь с народом. вам спасибо скажут

      Ответить
  9. Артем | 19 апреля 2011 at 10:07

    Хотя там всего лишь нужно в запросе (из таблицы SC_tagged_objects) добавить
    and language_id ="'.$_GET['lang_iso2'].'"
    если я ничего не перепутал

    Ответить
    • Владимир | 20 апреля 2011 at 22:54

      $sql=’select tag_id from SC_tagged_objects where object_type=»product» and object_id=’.$_GET['productID'].’ and language_id =’.$_GET['lang_iso2'];

      Если задать этот параметр вообще ни какое теги не показывает

      Ответить
      • Артем | 21 апреля 2011 at 8:29

        да. это я вам неправильно подсказал
        нужно примерно так
        if($_GET['lang_iso2']=='ru'){
        $sql='select tag_id from SC_tagged_objects where object_type="product" and object_id='.$_GET['productID'].' and language_id="1"';
        } else if($_GET['lang_iso2']=='en'){
        $sql='select tag_id from SC_tagged_objects where object_type="product" and object_id='.$_GET['productID'].' and language_id="2"';
        }

        1 и 2 — id языков. посмотреть их можно в админке
        но по умолчанию вроде так

        Ответить
        • Владимир | 21 апреля 2011 at 12:24

          Тоже самое теги не показываются хзч

          Ответить
        • Артем | 21 апреля 2011 at 13:20


          if($_GET['lang_iso2']=='en'){
          $sql='select tag_id from SC_tagged_objects where object_type="product" and object_id='.$_GET['productID'].' and language_id="2"';
          } else {
          $sql='select tag_id from SC_tagged_objects where object_type="product" and object_id='.$_GET['productID'].' and language_id="1"';
          }

          при языке по умолчанию переменная пустая. забыл

          Ответить
  10. Владимир | 21 апреля 2011 at 19:49

    Зачет! Тёма спасибо огромное :) Ты просто пипец какой молодец!

    Ответить
  11. Hunter | 2 сентября 2011 at 13:26

    Артем, а как вывести эти метки {tags} в категории товаров, в списке?

    Ответить
    • Артем | 2 сентября 2011 at 14:10

      вместо $_GET['productID'] передайте id продукта параметром и используйте его в запросе

      и и сам вывод естественно в файле карточки продукта внутри категории

      Ответить
  12. Hunter | 13 сентября 2011 at 8:23

    Артем, я сильно извиняюсь, а не подбросите кусочек кода для категории, если не трудно?
    Спасибо

    Ответить
    • Артем | 13 сентября 2011 at 8:28

      пока нет

      Ответить
  13. Hunter | 21 сентября 2011 at 12:24

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

    Ответить
    • Артем | 21 сентября 2011 at 13:10

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

      файл — product_brief.html

      Ответить
      • Hunter | 21 сентября 2011 at 14:56

        сорри, не верно выразился, хотел сказать что когда вставляю product_brief.html {tags}, то на странице категорий он не выводится, в отличии от страницы подробно.
        вот я и хотел узнать, в каком php-файле эту переменную нужно иниуиализировать, чтобы потом вывести в шаблон категорий…

        Ответить
        • Артем | 21 сентября 2011 at 15:41

          {tags} в данном случае не переменная, а плагин
          но сейчас плагин работает только на странице продукта, потому что использует GET переменную, которая доступна только на странице продукта

          чтобы использовать плагин на странице категории, нужно плагину передавать параметром id каждого товара и в самом плагине проверять GET переменную и параметр

          Ответить

Оставить комментарий Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

  • Twitter
  • Facebook
  • Google
  • RSS

| |

Последние комментарии

  • Артем к записи Оплата через LiqPay для Shop-Script
  • Владимир к записи Оплата через LiqPay для Shop-Script
  • The Best к записи Убираем auxpage_ у дополнительныйх страниц
  • Андрей к записи Прием платежей по пластиковым картам в Украине
  • Ирина к записи Партнерская программа. Дорабатываем Webasyst Shop-Script

Самые комментируемые

  • Автоматическое заполнение рекомендуемых товаров (129)
  • дерево категорий по-своему (shop-script) (127)
  • Фильтры в Webasyst Shop-Script (61)
  • WP Cumulus для Shop-Script исправленный (58)
  • Оплата через LiqPay для Shop-Script (51)
  • WP Cumulus для Joomla и Shop-Script (46)
  • Две цены в WA Shop-Script (46)

Самые читаемые

  • Фильтры в Webasyst Shop-Script - 10 572 просмотров
  • дерево категорий по-своему (shop-script) - 9 317 просмотров
  • ввод даты, календарь javascript - 8 845 просмотров
  • Бренды в Webasyst Shop-Script - 6 331 просмотров
  • Автоматическое заполнение рекомендуемых товаров - 5 758 просмотров
  • «хочу в подарок» ВКонтакте для Shop-Script - 4 619 просмотров
  • Слайдер в списках продуктов - 4 179 просмотров

Архивы







Поддерживать ежемесячно с помощью Donutor

Свежие записи

  • Новый Год отменяется :(
  • Webasyst Shop-Script новгодняя распродажа
  • новый шаблон
  • BUBA 2011
  • Zend Framework Day 2011

друзья

  • at-home
  • Fisher — сотовые телефоны
  • WebAsyst
  • WebComplIT
  • Zdorovy.in.ua

Счетчики

www.megastock.ru Яндекс.Метрика

Мета

  • Войти
  • RSS записей
  • RSS комментариев
  • WordPress.org

© 2008-2012 EasyWeb.org.ua | Дизайн elegantthemes.com | Разработано на CMS WordPress