Добавляем на сайт кнопки [like] популярных социальных сетей.

Сайт на движке php5shop, есть возможность вставлять html код в специальные баннерные блоки, которые хранятся в базе данных.
На соответствующих сайтах генерируем код для установки кнопок.
Код для кнопки вконтакте:

<script type="text/javascript" src="http://userapi.com/js/api/openapi.js?25"></script>

<script type="text/javascript">
  VK.init({apiId: 111111, onlyWidgets: true});
</script>

<div id="vk_like"></div>
<script type="text/javascript">
VK.Widgets.Like("vk_like", {type: "mini"});
</script>

Код для кнопки фейсбука:

<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
<fb:like font="" href="http://www.facebook.com/pages?sk=info" layout="button_count" show_faces="false"></fb:like>

(url страницы фейсбука и id API vkontakte меняйте на свои)

Объеденим эти коды вместе и положим их в div, в одну строку для красоты:

<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
<script type="text/javascript" src="http://userapi.com/js/api/openapi.js?25"></script>
<script type="text/javascript">VK.init({apiId: 111111, onlyWidgets: true});</script>

<div align="right" style="padding:5px">
    <fb:like font="" href="http://www.facebook.com/pages?sk=info" layout="button_count" show_faces="false"></fb:like> 
    <span id="vk_like1"></span>
</div>

<script type="text/javascript">
VK.Widgets.Like("vk_like1", {type: "mini"},"999999999");
</script>

Но так кнопки будут расположены там же где блок для баннера, а я захотел расположить их под блоком поиска, где не предусмотрено никаких баннеров. Если бы я был простым администратором магазина, немного понимающим html, то я бы открыл в блокноте шаблон и всунул бы код куда захотелось… Но редактирование кода, который может завтра обновиться (придется заменять файл новой версией), не самая удобная для меня идея, поэтому придется (с нескрываемым удовольствием 😉 ) прибегнуть к извращениям!
Динамически добавим код после того элемента DOM, после которого нужно:

<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
<script type="text/javascript" src="http://userapi.com/js/api/openapi.js?25"></script>
<script type="text/javascript">VK.init({apiId: 111111, onlyWidgets: true});</script>
<script type="text/javascript">
$(".rightblock").after('<div align="right" style="padding:5px"><fb:like font="" href="http://www.facebook.com/pages?sk=info" layout="button_count" show_faces="false"></fb:like> <span id="vk_like1"></span></div>');
VK.Widgets.Like("vk_like1", {type: "mini"},"999999999");
</script>

Это делает подключенная в магазине библиотека JQuery, а именно метод after. Мы берем весь html код кнопок и добавляем его после элемента класса rightblock. Какие классы и дивы есть у шаблона можно посмотреть в коде сгенерированной html страницы, там можно прикинуть где будет отображаться элемент если его вставить на такое то место в DOM. Если знаний не хватает — метод проб и ошибок поможет. Кроме after можно использовать другие методы (before, append, appendTo), о которых лучше всего написано на http://api.jquery.com/category/manipulation/
Есть один важный нюанс! Если такой js код будет находиться выше чем html код, с которым он работает (в данном случае объект класса rightblock), то ничего не произойдет. А если вставить это все под footer (в низу страницы), то все будет работать. Использовать $(document).ready не обязательно.
Такой вот извращенный способ =)