Компонент VirtueMart и кнопки социальных сетей SocButtons

Заметки


Здравствуйте дорогие друзья и любители Joomla. Сегодня будет еще одно обещанное руководство по установке кнопок социальных сетей SocButtons в сторонние расширения и очередь дошла до VirtueMart. Предыдущие записи Компонент Phoca Gallery и кнопки социальных сетей SocButtons и Компонент K2 и кнопки социальных сетей SocButtons я думаю вам будут полезны не менее. А сегодня будем соединять компонент VirtueMart и кнопки социальных сетей SocButtons.

Компонент VirtueMart и кнопки социальных сетей SocButtons

Компонент VirtueMart и кнопки социальных сетей SocButtons

Кратко опишу о чем пойдет речь:

  1. Добавим кнопки социальных сетей в список категорий VirtueMart.
  2. Вставим кнопки соц сетей в категорию товаров под VirtueMart.
  3. Добавим кнопки социальных сетей в карточку товара VirtueMart.

Компонент VirtueMart и кнопки социальных сетей SocButtons

Сделаю маленький экскурс и опишу что нам нужно для работы:

  1. Плагин кнопок социальных сетей SocButtons (под Joomla 1.5) —  в нем настраиваем сами кнопки и их вид.
  2. Системный плагин кнопок соц сетей System SocButtons — именно он помогает интерпретировать тег {socbuttons} в полноценные кнопки соц сетей
  3. Компонент интернет магазина VirtueMart (скачать VirtueMart) — думаю понятно что он делает :-).

И начнем мы с того что вставим кнопки в список категорий VirtueMart.

Добавить кнопки соц сетей SocButtons в список категорий товара VirtueMart

Так как большинство магазинов имеет довольно много категорий товаров, я считаю рационально размещать кнопки социальных сетей перед списком категорий. Для этого нам нужно:

  • Зайти в админпанель вашего сайта
  • Перейти в компонент VirtueMart — Раздел «Магазин» — Пункт «Информация о магазине»
  • В поле «Описание» добавляем тег {socbuttons}
  • Сохраняем изменения.

Все довольно просто и в итоге мы получим следующее демо или то что на картинке:

Добавить кнопки соц сетей SocButtons в список категорий товара VirtueMart

Добавить кнопки соц сетей SocButtons в список категорий товара VirtueMart

Добавить кнопки соц сетей SocButtons в категорию товаров VirtueMart

Сейчас мы будем добавлять кнопки SocButtons в категорию с товарами. Так как в таких категориях 10-20 товаров, то вставлять кнопки вниз не вижу смысла. По этому вставим кнопки под описание категории товаров. Для этого нам нужно:

  • Зайти в папку components\com_virtuemart\themes\default\templates\browse\includes\
  • найти файл browse_header_category.tpl.php
  • в нем найти строчку №18, а именно
    <?php echo $desc; ?>

    и после нее (или перед ней, как кому угодно) вписать тег {socbuttons}. Получится следующее

    <?php echo $desc; ?>{socbuttons}
  • Сохранить изменения в файле

В итоге мы получим кнопки социальных сетей, которые будут отображаться после (или до) описания категории. Как на скриншоте:

Добавить кнопки соц сетей SocButtons в категорию товаров VirtueMart

Добавить кнопки соц сетей SocButtons в категорию товаров VirtueMart

Вставить кнопки социальных сетей SocButtons в карточку товара VirtueMart

И напоследок мы сделаем самое главное, добавим кнопки социальных сетей в карточку товара VirtueMart. Вариантов размещения может быть множество, по этому я опишу принцип добавления, а куда именно вы вставите это уже зависит от вашего желания и целесообразности дизайна магазина.

Шаблонов карточек товара по-умолчанию идет 7 штук (flypage.tpl — самый популярный), по этому вам обязательно нужно узнать какой именно шаблон вы используете в своем магазине.

  • Идем в VirtueMart — Раздел «Настройки» — Пункт «Настройки». Выбираем вкладку «Сайт» и в поле «Страница товара (flypage)» смотрим название шаблона. Имейте ввиду что для каждой категории товара можно присвоить отдельно другой шаблон, нежели для всех остальных категорий.
  • Узнав название шаблона товара идем в components\com_virtuemart\themes\default\templates\product_details\
  • Ищем файл шаблона, он будет таким «имя шаблона.php», например flypage.tpl.php и редактируем его.

В разных шаблонах карточек, разная структура и тут вам на помощь придет статья Список заглушек VirtueMart, в которой описаны почти все переменные, которые отвечают за определенные данные. А я для примера вставлю кнопки соц сетей после названия товара.

  • Посмотрел, что за карточку товара отвечает шаблон flypage.tpl
  • Нашел flypage.tpl.php в папке components\com_virtuemart\themes\default\templates\product_details\
  • Нашел строчку №26 в которой выводиться название товара с помощью переменной $product_name
    <h1><?php echo $product_name ?> <?php echo $edit_link ?></h1>

    и дописал после нее тег {socbuttons}, получилось так

    <h1><?php echo $product_name ?> <?php echo $edit_link ?></h1>{socbuttons}
  • Сохранил изменения.

В итоге получилось следующее демо или то что на картинке:

Вставить кнопки социальных сетей SocButtons в карточку товара VirtueMart

Вставить кнопки социальных сетей SocButtons в карточку товара VirtueMart

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

А на этом пост Компонент VirtueMart и кнопки социальных сетей SocButtons закончен. Желаю вам по больше покупателей на ваших интернет магазинах. Увидимся.

Joomla Блог Nauca – научись работать с Joomla

Хочешь получать на e-mail свежие статьи о компонентах, модулях, плагинах и других полезных вещах связанных с Joomla? Не пропусти ничего полезного, подпишись на новости блога Nauca:

  • Fatal error: Call to undefined method plgContentSocButtons::onBeforeDisplayContent() in J:homelocalhostwwwflytoypluginssystemsocbuttons.php on line 87
    Пробовал выше описаный метод после product_name ив других позициях результат неважный

    • Вы используете версию SocButtons 1.4, а нужно 1.3. Ссылка в посту на SocButtons 1.3

  • Джумлавод

    спасибо за проделанную работу, а когда ждать 1.4 для фока галерии?

    • Есть небольшие заминки с переводом system socbuttons под joomla 1.7, но я думаю это дело решаемо, нужно только время. А его как раз на все и не хватает.

      • Джумлавод

        ждем с нетерпением 1.5 и 1.7! Спс за труды!

  • Kopew

    Все получилось! Только не отоброжаетс кнопка лайк Вкотакте. Joomla 1.5 

    • Возможно вы тестируете на локалке или не коректно указали ID для Вконтакте

  • SVit1984

    Після налаштування плагінів виводяться
    такі помилки:

    Warning: file_get_contents() [function.file-get-contents]:
    URL file-access is disabled in the server configuration in /sata1/home/users/…/www…/plugins/content/socbuttons.php on
    line 58

    Warning:
    file_get_contents(http://nauca.com.ua/socbuttons/pagesocbuttons13.php) [function.file-get-contents]:
    failed to open stream: no suitable wrapper could be found in /sata1/home/users/…/www…/plugins/content/socbuttons.php on
    line 58

    Notice: Undefined
    variable: row in /sata1/home/users/…/www…/plugins/content/socbuttons.php on
    line 62

    Notice: Trying to
    get property of non-object in /sata1/home/users/…/www…/plugins/content/socbuttons.php on
    line 62

     

    Підкажіть, що робити. Буду вдячним.

     

    • Просто удалите 58 строчку в socbuttons.php

      • SVit1984

        Не допомогло. Викинуло помилку в 61 і 243 лінійці файлу, а саме:
        Notice: Undefined variable: row in /sata1/home/users/…/www/…/plugins/content/socbuttons.php on line 61Notice: Trying to get property of non-object in /sata1/home/users/…/www/…/plugins/content/socbuttons.php on line 61Notice: Undefined variable: downloadpage in /sata1/home/users/…/www/…/plugins/content/socbuttons.php on line 243

        • Попробуйте удалить еще и 243 строку

          • 243 строку удалил, но ошибка в 61 строке в виртуемарте оталась. Вот часть файла:
            if($article->id){
            $link = JRoute::_(ContentHelperRoute::getArticleRoute($article->id, $article->catid));
            $jURI = & JURI::getInstance();
            $link = $jURI->getScheme().»://».$jURI->getHost().$link;Подскажите что делать.

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

    • Роман Мирошник

      На главную страницу index.php после открытия php вставляйте:
      Error_Reporting(E_ALL & ~E_NOTICE);

  • Гость

    А когда будет для SocButtons 1.4?

  • Станислав

    Спасибо большое автору за отличный плагин! А планируется ли сделать плагин комментариев для Virtuemart, как для материалов? И можно ли убрать  ссылку
    Социальный плагин Facebook когда выводятся коментарии из Facebook? Я так с ходу не разобрался где вырезать 🙂

    • Да планируется, но уже после нового года. А вот ссылку от Facebook убрать нельзя, она тянется от скрипта со стороны фейсбука

      • Установил для товаров Socbuttons, но когда обратно с твиттера заходишь по ссылке, то вот такая штука вылетает:
        Это как бы нормально? Время должно пройти что всё было как надо или что-то надо подправить?

        • Проверил ваш сайт, ничего после твитера не вылетало. Укажите что это был за товар и какой браузер, еще лучше приложить скрин экрана с предупреждением.

          • Сейчас уже все вроде нормально. Если опять появится такое предупреждение, то обязательно со скрином приложу. Спасибо за оперативность! 🙂

  • Леша

    Добрый день. Поставил socbuttons версии 1.4, вставил тег в страницу отображения товара. Джумла — 1.5
    Выдает ошибку — Notice: Undefined property: stdClass::$id in /home/glowbeat/public_html/plugins/content/socbuttons.php on line 61

    Подскажите, пожалуйста, в чем проблема и как ее убрать?

    Спасибо!

    • Вам нужно отключить вывод предупреждений и ошибок на хостинге

  • Алексей

    Content — SocialShareButtons  пришлось отключить, сайт не работает с ним

  • Евгений Баранов

    Здравствуйте!
    не могу найстроить вывод в  VirtuemartSystem SocButtons (v1.4) + SocButtons 1.4 
    Joomla 1.7 Ru + Virtuemart 2.0 ru
    Все сдела как описано, вспывил тег {socbuttons} в нужный шаблон, при выводе шаблона не видно ни тега не меню! около тега решил прописать буквы любые, проверить тот ли я шаблон использую, буквы вывелисть в карточку товара Virtuemart. В других разделах все окей кнопки работают. Что же нужно сделать?)

    • Здравствуйте. Пока с VirtueMart 2.0 не тестировали, так что подсказать пока не могу

    • Евгений Баранов

      надеюсь будет время =) спасибо за информацию

  • Алексей

    скачал плагины по ссылкам, указанным выше. в карточке товара хотел вывести плосле discription кнопки тегом {socbuttons}, но выдает ошибку:

    Fatal error: Call to undefined method plgContentSocButtons::onPrepareContent() in Z:homeprosty.tewwwpluginssystemsocbuttons.php on line 87 
    Как быть? проблема в том что мне это описание нужно только в карточке товара и именно внизу. Плагин ставит везде, но не там где нужно) 

    • Судя по ошибке, вы используете разные версии SocButtons и system SocButtons.

  • Spayper

    Делаю всё как описанно в данном примере, перезаписываю — flypage.tpl и когда уже захожу в описание товара, выдаёт белый экран. все плагины скачал по ссылкам выше. никто не сталкивался? админ подскажи плз что делать, спасибо

    • Белый екран это ошибка. Смотрите внимательно, возможно вы забыли тег закрыть или в разрыв между переменной вставили.

  • Lion_club

    Здравствуйте, Роман! Установил плагина выше указанные на шаблон какой в примере но у меня ничего не отображаеться! плагины отключены! в чем может быть проблема?

    • Ну так плагины должны быть включены, чтобы они работали.

  • Selfshelly

    Здравствуйте! Не работает, выдает ошибку Fatal error: Call to undefined method plgContentSocButtons::onPrepareContent() in /home/elittoys/domains/elittoys.kh.ua/public_html/plugins/system/socbuttons.php on line 87
    права на cash 777, версия плагина SocButtons 1.3 System SocButtons v1.3
    выключаю System SocButtons — выводится тег в нужном месте, а когда включен -ошибку.

    • Вы используете разные версии плагинов, вот и ошибка. Вышла версия 1.5, в архиве идет сразу 2 плагина основной и системный

  • Николай

    День добрый хотелось бы узнать Soccomments можно по такому принцыпу интегрировать? Есть готовое решение?

  • Вика

    здравствуйте. поставила кнопки в карточку товара виртуемарт, все работатает, но контент для записи берется из новости в левой колонке, а не из описания товара. Как это исправить? Спасибо.

    • Видать соц сети берут текст что первый попадает, перенесите новости в правую колонку.

  • А на главную как вставить? подскажите

  • Петр

    Аналогичная ситуация.Что сделать чтоб кнопки показались?

    • Выключите gzip сжатие в общих настройках сайта.

      • Петр

        Спасибо ,помогло!