Jump to content

Виджет с товарами сайта для других ресурсов


Recommended Posts

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

 

Всё крайне просто:

  • для начала в корне сайта в файл .htacess нужно добавить следующий код:
RewriteRule ^widget/?$	widget.php  [L,QSA]
  • После скачать прикреплённый файл widget.php и загрузить его в корень сайта.

 

  • Далее отослать админу ресурса следующий код для вставки на свой сайт:
<div id="w_widget"></div>
<script>
    function returnObjById( id ){
    if (document.getElementById)
        var returnVar = document.getElementById(id);
          else if (document.all)             
            var returnVar = document.all[id];
              else if (document.layers)
                var returnVar = document.layers[id];
      return returnVar;
    };
    var w_widget;
    w_widget=returnObjById('w_widget');
    var head= document.getElementsByTagName('head')[0];
    var script= document.createElement('script');
    script.type= 'text/javascript';
    script.src = 'http://example.com/widget/?pid=partner&width_w=200&slide=4&show_pic=1&description=1&sizeimg=160&name=1&price_on=1&l_desc=100&n_desc=40&bonus=5000'
    head.appendChild(script);
 </script>

подробнее стоит разобрать следующую ссылку(я её выделил в коде):

http://example.com/widget/?pid=partner&width_w=200&slide=4&show_pic=1&description=1&sizeimg=160&name=1&price_on=1&l_desc=100&n_desc=40

вместо example.com вставляем адрес своего сайта

далее:

pid = можете не трогать, значение в pid в конец ссылки товара добавляет /#partner это для статистики по партнёрской программе (подробнее я писал про партнёрку тут)

width_w = ширина виджета

slide = колличество товаров в виджете(максимально 5, если нужно больше меняйте в файле widget.php условия запроса LIMIT )

show_pic = 1 если значение равно 1 то показывает изображения

description = 1 если значение равно 1 то показывает описание товара

sizeimg = ширина/высота изображения

name = 1 если значение равно 1 то показывает название товара

price_on = 1 если значение равно 1 то показывает цену товара

l_desc = длинна описания, описание прерывается на последнем слове вместо "это
очень хороший това..." будет "это очень хороший..."

n_desc = длинна названия, тут всё так-же как и с описанием.

bonus = после какой суммы товара к стоимости будет добавляться + подарок

 

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

 

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

 

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

 

И да, я совсем новичок в программировании, критические замечания и предложения по улучшению приветствуются.

 

По поводу дизайна виджета: цвета, размер букв, бордеры и прочее меняйте сами, в помощь firebug и прямые руки+хотя-бы базовые знания CSS, стили прописаны в файле widget.php

 

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

 

Горизонтальный виджет сделаю, но позже, сейчас достаточно моного работы. Спасибо за внимание

widget.php

Link to post
Share on other sites
  • 2 months later...

Вот здесь

script.src = 'http://example.com/widget/?pid=partner&width_w=200&slide=4&show_pic=1&description=1&sizeimg=160&name=1&price_on=1&l_desc=100&n_desc=40&bonus=5000'

необходимо исправить на

script.src = 'http://example.com/widget.php/?pid=partner&width_w=200&slide=4&show_pic=1&description=1&sizeimg=160&name=1&price_on=1&l_desc=100&n_desc=40&bonus=5000'

тогда все работает

Link to post
Share on other sites

Joomla 3.1.5, отлично работает, модуль произвольный html

Так собственно это решение под симплу с запросами к симпле и API симплы, как оно вообще может с джумлой работать?

Link to post
Share on other sites

Так собственно это решение под симплу с запросами к симпле и API симплы, как оно вообще может с джумлой работать?

имеется в виду виджет прекрасно выводится на жумле)

Link to post
Share on other sites
  • 8 months later...

На html странице виджет не выводится. Но я пока тестирую возможности Симплы и пока использую пробную лицензию. Может ли дело быть в этом или надо искать другие причины? Спасибо!

 

всё по инструкции:

вставил строку в .htaccess

загрузил в корень widget.php

вставил код в сайт-донор

(на тестовой странице убрал весь код кроме мета, дива и скрипта)

 

не работает (

Simpla 2.3.3

<!DOCTYPE html>
<head>
<title>Тест виджета</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

<body>
<div id="w_widget"></div>
<script>
    function returnObjById( id ){
    if (document.getElementById)
        var returnVar = document.getElementById(id);
          else if (document.all)             
            var returnVar = document.all[id];
              else if (document.layers)
                var returnVar = document.layers[id];
      return returnVar;
    };
    var w_widget;
    w_widget=returnObjById('w_widget');
    var head= document.getElementsByTagName('head')[0];
    var script= document.createElement('script');
    script.type= 'text/javascript';
    script.src = 'http://igrushekmagazin.ru/widget.php/?pid=partner&width_w=200&slide=4&show_pic=1&description=1&sizeimg=160&name=1&price_on=1&l_desc=100&n_desc=40&bonus=5000'
    head.appendChild(script);
 </script>
</body>
</html>
Link to post
Share on other sites
  • 2 weeks later...

У меня сначала тоже не работало, поправил немного под Simpla 2.3.3.

 

Код на сайте такой:

<div id="w_widget"></div>
<script>
function returnObjById( id ){
if (document.getElementById)
var returnVar = document.getElementById(id);
else if (document.all)
var returnVar = document.all[id];
else if (document.layers)
var returnVar = document.layers[id];
return returnVar;
};
var w_widget;
w_widget=returnObjById('w_widget');
var head= document.getElementsByTagName('head')[0];
var script= document.createElement('script');
script.type= 'text/javascript';
script.src = 'http://example.com/widget.php?width_w=200&slide=2&show_pic=1&description=1&sizeimg=160&name=1&price_on=1&l_desc=100&n_desc=40&bonus=5000'
head.appendChild(script);
</script>

 

В htaccess ничего не добавлял

 

Файл виджета widget.php

Link to post
Share on other sites

Рекомендации для обновления:

  • Возможность выбора категорий из которых производить выбор товаров
  • Возможность вывода только акционных товаров или хитов
  • Сделайте кеш для информера, автоматическое удаление кеша через N - указанное в настройках время. (иначе при размещении информера на высокопосещаемых ресурсах значительно вырастет нагрузка на сервер БД)

Модуль не ставил, но пригодится, спасибо!!!

Link to post
Share on other sites

У меня сначала тоже не работало, поправил немного под Simpla 2.3.3.

 

Код на сайте такой:

<div id="w_widget"></div>
<script>
function returnObjById( id ){
if (document.getElementById)
var returnVar = document.getElementById(id);
else if (document.all)
var returnVar = document.all[id];
else if (document.layers)
var returnVar = document.layers[id];
return returnVar;
};
var w_widget;
w_widget=returnObjById('w_widget');
var head= document.getElementsByTagName('head')[0];
var script= document.createElement('script');
script.type= 'text/javascript';
script.src = 'http://example.com/widget.php?width_w=200&slide=2&show_pic=1&description=1&sizeimg=160&name=1&price_on=1&l_desc=100&n_desc=40&bonus=5000'
head.appendChild(script);
</script>

 

В htaccess ничего не добавлял

 

Файл виджета attachicon.gifwidget.php

Спасибо! Всё получилось.

Для тех кому цена в нужна в рублях: в widget.php в последней строке в самом конце (2810 символ) меняем "грн" на "руб"

А вот как сделать горизонтальный виджет не разобрался...

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...