Новости Joomla

Astroid обновился до версии 3.3.7!

Astroid обновился до версии 3.3.7!

Astroid — это мощный фреймворк для дизайнеров и разработчиков, позволяющий создавать адаптивные, быстрые и надежные веб-сайты и шаблоны на базе Joomla.

Главное в новой версии:

-   Исправлена загрузка файлов макетов

В предыдущем крупном релизе Astroid 3.3.6 были сделаны важные улучшения:

Основные моменты:

  • Улучшенный UI/UX в ключевых областях конфигурации
  • Повышенная стабильность и согласованность в Layout Builder и Form Builder
  • Исправления ошибок на основе отзывов сообщества
  • Улучшенная обработка визуальных эффектов, границ и шрифтов

Улучшения:

  • Обновленный UX Layout Builder
  • Улучшенный эффект предзагрузчика
  • Улучшенный стиль границ
  • Улучшенный UI/UX вкладки «Layout» в Template Options

Исправления ошибок:

  • Решены проблемы с некорректными динамическими значениями
  • Исправлен Color Transform при прокрутке
  • Устранены проблемы с работой Form Builder в Article Layout и Module Layout Builder
  • Исправлена проблема с созданием ненужных временных файлов при обработке шрифтов

Скачать: https://github.com/templaza/astroid-framework/releases/tag/v3.3.7

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

0 Пользователей и 1 Гость просматривают эту тему.
  • 57 Ответов
  • 17120 Просмотров
*

Aviva

  • Захожу иногда
  • 89
  • 0 / 0
Что за карточка?  по тому же принципу все сделать можно наверника.
извините внимательно путь темы не посмотрела. Карточка товаров в VirtueMart.
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
извините внимательно путь темы не посмотрела. Карточка товаров в VirtueMart.
все тоже самое найдите в коде виртуал матра где формируется эта карточка и вставьте туда ( останется только найдти переменную которая отвечает за формир ссылки)
Код
<div class="ads_knopki">

<table width="100%" border="0"><tr width="100%">
<td align="right"><script src="/components/com_adsmanager/ok.js" type="text/javascript"></script></td>
<td align="left">
<table border="0"><tr>
<td ><a class="mrc__share" href="http://connect.mail.ru/share">Поделиться</a>
<script src="/components/com_adsmanager/mail.js" type="text/javascript"></script></td>
<td><script type="text/javascript"  src="/components/com_adsmanager/vkontakte.js"   charset="UTF-8"</script>
<script type="text/javascript">
document.write(VK.Share.button(false,{type: "round", text: "Сохранить"})); </script></td>
<td>
<a href="http://www.livejournal.com/update.bml"
 onClick="location.href='http://www.livejournal.com/update.bml?event='+encodeURIComponent(document.location.href) + ' &subject=<?php echo stripslashes(adsmanager_html::cutLongWord($row->ad_headline));?>'; return false;">
<img src="components/com_adsmanager/images/livejournal.png" border="0" align="absmiddle" alt="Опубликовать в своем блоге livejournal.com" width="86" height="18" title="Опубликовать в ЖЖ"></a></td>
</tr></table>
</td></tr></table>


</div>
Вот это должно работать и на марте ( переменные за форм ссылки тут не нужны , за иссключении $row->ad_headline отвечает за заголовок( title который будет передаваться в форму какая в марте я не знаю))
как вариант можно использовать для каждого сервиса код который для ЖЖ используется <a href="http://www.livejournal.com/update.bml"
 onClick="location.href='http://www.livejournal.com/update.bml?event='+encodeURIComponent(document.location.href) + ' &subject=<?php echo stripslashes(adsmanager_html::cutLongWord($row->ad_headline));?>'; return false;"> ( только в разных сервисах разная последовательность передачи ( в ЖЖ сначала ссылка  encodeURIComponent(document.location.href)  потом текст и заголовок )
« Последнее редактирование: 13.09.2010, 18:35:07 от AlexSims »
С фантазией плохо.
*

Aviva

  • Захожу иногда
  • 89
  • 0 / 0
Не получается. Вот что показывает после фото товара
  
Fatal error: Class 'adsmanager_html' not found in Z:\home\localhost\www\mag-sot\components\com_virtuemart\themes\default\templates\product_details\flypage.tpl.php on line 27


« Последнее редактирование: 14.09.2010, 01:42:39 от Aviva »
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
Не получается. Вот что показывает после фото товара
 
Fatal error: Class 'adsmanager_html' not found in Z:\home\localhost\www\mag-sot\components\com_virtuemart\themes\default\templates\product_details\flypage.tpl.php on line 27
ну правильно ссылки то надо поправить в соответствии с вашим компонентом . тут то под адсманаджер сделано
stripslashes(adsmanager_html::cutLongWord($row->ad_headline))   вот это чисто под адс функция   ищете  в виртуал марте функцию которая обрабатывает заголовк и пишите ее)

С фантазией плохо.
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Очень бы хотелось добавить кнопки к Vm

Особенно нужна кнопка "поделиться в контакте"

Может поможете с таким модулем!
Смотрю....
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
вставить туда где нужна кнопка
Код
<td><script type="text/javascript"  src="components/com_adsmanager/vkontakte.js"   charset="UTF-8"</script><script type="text/javascript">
document.write(VK.Share.button(false,{type: "round", text: "Сохранить"})); </script></td>
 путь (components/com_adsmanager/vkontakte.js) поправить в соответствии с тем где у вас будет лежать скрипт vkontakte.js

вот сам скрипт
сохраните как vkontakte.js
Код
if (!window.VK) window.VK = {};
if (!VK.Share) {
  VK.Share = {
    _popups: [],
    _gens: [],
    _base_domain: '',
    _ge: function(id) {
      return document.getElementById(id);
    },
    button: function(gen, but, index) {
      if (!gen) gen = {};
      if (gen === gen.toString()) gen = {url: gen.toString()};
      if (!gen.url) gen.url = location.toString();

      if (!but) but = {type: 'round'};
      if (but === but.toString()) but = {type: 'round', text: but};
      if (!but.text) but.text = 'Сохранить';

      var old = true, count_style = 'display: none', count_width = 22;
      if (index === undefined) {
        gen.count = 0;
        gen.shared = (but.type == 'button' || but.type == 'round')? false : true;
        this._gens.push(gen);
        this._popups.push(false);
        index = this._popups.length - 1;
        old = false;
      } else {
        if ((gen.count = this._gens[index].count) && (but.type == 'button' || but.type == 'round')) {
          count_style = '';
          count_width = 29;
        }
        gen.shared = this._gens[index].shared;
        this._gens[index] = gen;
      }

      var head = document.getElementsByTagName('head')[0];
      if (!this._base_domain) {
        for (var elem = head.firstChild; elem; elem = elem.nextSibling) {
          var m;
          if (elem.tagName && elem.tagName.toLowerCase() == 'script' && (m = elem.src.match(/(http:\/\/(?:[a-z0-9_\-]*\.)?(?:vk\.com|vkontakte\.ru)\/)js\/api\/share\.js(?:\?|$)/))) {
            this._base_domain = m[1];
          }
        }
      }
      if (!this._base_domain) {
        this._base_domain = 'http://vkontakte.ru/';
      }
      if (!old && (but.type == 'button' || but.type == 'round')) {
        var elem = document.createElement('script');
        elem.src = this._base_domain + 'share.php?act=count&index=' + index + '&url=' + encodeURIComponent(gen.url);
        head.appendChild(elem);
      }
      if (but.type == 'button' || but.type == 'button_nocount') {
        return '<table cellspacing="0" cellpadding="0" id="vkshare' + index + '" onmouseover="VK.Share.change(1, ' + index + ');" onmouseout="VK.Share.change(0, ' + index + ');" onmousedown="VK.Share.change(2, ' + index + ');" onmouseup="VK.Share.change(1, ' + index + ');" onclick="VK.Share.click(' + index + ');" style="width: auto; cursor: pointer; border: 0px;"><tr style="line-height: normal;"><td></td>' +
               '<td style="vertical-align: middle;"><div style="border: 1px solid #3b6798;"><div style="border: 1px solid #5c82ab; border-top-color: #7e9cbc; background-color: #6d8fb3; color: #fff; text-shadow: 0px 1px #45688E; height: 15px; padding: 2px 4px 0px 6px; font-size: 10px; font-family: tahoma;">' + but.text + '</div></div></td>' +
               '<td style="vertical-align: middle;"><div style="background: url(http://vk.com/images/btns.png) 0px 0px no-repeat; width:' + count_width + 'px; height: 21px"></div></td>' +
               '<td style="vertical-align: middle;"><div style="border: 1px solid #a2b9d3; border-left: 0px; background-color: #dee6f1; height: 15px; padding: 2px 4px 0px 2px; font-size: 10px; font-family: tahoma;' + count_style + '">' + gen.count + '</div></td>' +
               '</tr></table>';
      } else if (but.type == 'round' || but.type == 'round_nocount') {
        return '<table cellspacing="0" cellpadding="0" id="vkshare' + index + '" onmouseover="VK.Share.change(1, ' + index + ');" onmouseout="VK.Share.change(0, ' + index + ');" onmousedown="VK.Share.change(2, ' + index + ');" onmouseup="VK.Share.change(1, ' + index + ');" onclick="VK.Share.click(' + index + ');" style="width: auto; cursor: pointer; border: 0px;"><tr style="line-height: normal;">' +
               '<td style="vertical-align: middle;"><div style="height: 21px; width: 2px; background: url(http://vk.com/images/btns.png) no-repeat -21px -42px;"></div></td>' +
               '<td style="vertical-align: middle;"><div style="border: 1px solid #3b6798; border-left: 0px;"><div style="border: 1px solid #5c82ab; border-left: 0px; border-top-color: #7e9cbc; background-color: #6d8fb3; color: #fff; text-shadow: 0px 1px #45688E; height: 15px; padding: 2px 4px 0px 6px; font-family: tahoma; font-size: 10px;">' + but.text + '</div></div></td>' +
               '<td style="vertical-align: middle;"><div style="background: url(http://vk.com/images/btns.png) 0px -21px no-repeat; width:' + count_width + 'px; height: 21px"></div></td>' +
               '<td style="vertical-align: middle;"><div style="border: 1px solid #a2b9d3; border-width: 1px 0px; background-color: #dee6f1; height: 15px; padding: 2px 3px 0px 2px; font-size: 10px; font-family: tahoma;' + count_style + '">' + gen.count + '</div></td>' +
               '<td style="vertical-align: middle;"><div style="background: url(http://vk.com/images/btns.png) -27px -42px; width: 2px; height: 21px;' + count_style + '"></div></td>' +
               '</tr></table>';
      } else if (but.type == 'link') {
        return '<table style="width: auto; cursor: pointer; line-height: normal;" onmouseover="this.rows[0].cells[1].firstChild.style.textDecoration=\'underline\'" onmouseout="this.rows[0].cells[1].firstChild.style.textDecoration=\'none\'" onclick="VK.Share.click(' + index + ')" cellspacing="0" cellpadding="0"><tr style="line-height: normal;">' +
               '<td style="vertical-align: middle;"><img src="http://vk.com/images/vk16.png" style="vertical-align: middle;"/></td>' +
               '<td style="vertical-align: middle;"><span style="padding-left: 5px; color: #2B587A; font-family: tahoma; font-size: 11px;">' + but.text + '</span></td>' +
               '</tr></table>';
      } else if (but.type == 'link_noicon') {
        return '<span style="cursor: pointer; font-family: tahoma; font-size: 11px; color: #2B587A; line-height: normal;" onmouseover="this.style.textDecoration=\'underline\'" onmouseout="this.style.textDecoration=\'none\'" onclick="VK.Share.click(' + index + ');">' + but.text + '</span>';
      } else {
        return '<span style="cursor: pointer" onclick="VK.Share.click(' + index + ');">' + but.text + '</span>';
      }
    },
    change: function(state, index) {
      var row = this._ge('vkshare' + index).rows[0];
      var elem = row.cells[1].firstChild.firstChild;
      if (state == 0) {
        elem.style.backgroundColor = '#6d8fb3';
        elem.style.borderTopColor = '#7e9cbc';
        elem.style.borderLeftColor = elem.style.borderRightColor = elem.style.borderBottomColor = '#5c82ab';
      } else if (state == 1) {
        elem.style.backgroundColor = '#84a1bf';
        elem.style.borderTopColor = '#92acc7';
        elem.style.borderLeftColor = elem.style.borderRightColor = elem.style.borderBottomColor = '#7293b7';
      } else if (state == 2) {
        elem.style.backgroundColor = '#6688ad';
        elem.style.borderBottomColor = '#7495b8';
        elem.style.borderLeftColor = elem.style.borderRightColor = elem.style.borderTopColor = '#51779f';
      }
      var left = row.cells[0].firstChild;
      if (left) {
        if (state == 0) {
          left.style.backgroundPosition = '0px 0px';
        } else if (state == 1) {
          left.style.backgroundPosition = '-23px -42px';
        } else if (state == 2) {
          left.style.backgroundPosition = '-25px -42px';
        }
      }
    },
    click: function(index) {
      var details = this._gens[index];
      if (!details.shared) {
        VK.Share.count(index, details.count + 1);
        details.shared = true;
      }
      var undefined;
      if (details.noparse === undefined) {
        details.noparse = details.title && details.description && details.image;
      }
      details.noparse = details.noparse ? 1 : 0;

      var params = {url: details.url};
      var fields = ['title', 'description', 'image', 'noparse'];
      for (var i = 0; i < fields.length; ++i) {
        if (details[fields[i]]) {
          params[fields[i]] = details[fields[i]];
        }
      }

      var popupName = '_blank';
      var width = 554;
      var height = 349;
      var left = (screen.width - width) / 2;
      var top = (screen.height - height) / 2;
      var popupParams = 'scrollbars=0, resizable=1, menubar=0, left=' + left + ', top=' + top + ', width=' + width + ', height=' + height + ', toolbar=0, status=0';
      var popup = this._popups[index] = window.open('', popupName, popupParams);
      try {
        var text = '<form accept-charset="UTF-8" action="' + this._base_domain + 'share.php" method="POST" id="share_form">';
        for (var i in params) {
          text += '<input type="hidden" name="' + i + '" value="' + params[i].toString().replace(/"/g, '&quot;') + '" />';
        }
        text += '</form>';
        text += '<script type="text/javascript">document.getElementById("share_form").submit()</script>';

        text = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">' +
               '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">' +
               '<head><meta http-equiv="content-type" content="text/html; charset=windows-1251" /></head>' +
               '<body>' + text + '</body></html>';
        popup.document.write(text);
      } catch (e) {
      }
      popup.blur();
      popup.focus();
    },
    count: function(index, count) {
      this._gens[index].count = count;
      var elem = this._ge('vkshare' + index);
      if (elem) {
        var row = elem.rows[0];
        if (count) {
          row.cells[3].firstChild.innerHTML = count;
          row.cells[2].firstChild.style.width = '29px';
          row.cells[3].firstChild.style.display = 'block';
          if (row.cells.length > 4) {
            row.cells[4].firstChild.style.display = 'block';
          }
        } else {
          row.cells[2].firstChild.style.width = '22px';
          row.cells[3].firstChild.style.display = 'none';
          if (row.cells.length > 4) {
            row.cells[4].firstChild.style.display = 'none';
          }
        }
      }
    }
  }
}

С фантазией плохо.
*

QueenSoft

  • Новичок
  • 7
  • 0 / 0
Почему когда я вставила кнопки у меня все вылезло за поля? фото текст... кстати я посмотрела у вас на сайте тоже все вылазит и не красиво смотрится это можно как то решить? спасибо
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
С фантазией плохо.
*

QueenSoft

  • Новичок
  • 7
  • 0 / 0
что велезает?
конкретно у Вас фото на фото накладывается вот http://9kvartira.ru/objavleniya.html?page=show_ad&adid=379&catid=8

у меня тоже фото+ меню объявлений с позиции left опускается вниз под все объявления.
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
конкретно у Вас фото на фото накладывается вот http://9kvartira.ru/objavleniya.html?page=show_ad&adid=379&catid=8

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

flier

  • Захожу иногда
  • 107
  • 2 / 2
Понравился 1й вариант с кнопками, но не понравилось то что само объявление вконтакт формируется неправильно, пищет титл сайта и описание сайта, а как сделать чтоб в титле было название объявления, а в описание сайта текст объявления?

и не те фото берутся из объявления!!
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
Понравился 1й вариант с кнопками, но не понравилось то что само объявление вконтакт формируется неправильно, пищет титл сайта и описание сайта, а как сделать чтоб в титле было название объявления, а в описание сайта текст объявления?

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

если хотите оставить все как есть но чтоб правильно передавалось - редактируйте скрипт вконтакте
С фантазией плохо.
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
небольшие изменения в кнопках и добавил кнопку из одноклассников.
код для кнопки Одноклассников ( со счетчиком)

Код
<link href="http://stg.odnoklassniki.ru/share/odkl_share.css" rel="stylesheet">
<script src="http://stg.odnoklassniki.ru/share/odkl_share.js" type="text/javascript" ></script>

<td>
<div style="float: left;">
<?php $tar =  sefRelToAbs("index.php?option=$option&page=show_ad&adid=$row->id&catid=$row->category"); ?>
<a class="odkl-klass-stat" href="<?php echo $tar;?>"  onclick="ODKL.Share(this);return false;" ><span>0</span></a>
</div>
</td>

в конце формировании страницы код
Код
<body onload="ODKL.init();">


изменил код для мейл кнопки
(это код первую картинку ловит чтоб ее передать в мейл) его ставим прямо перед выводом самой кнопки
Код
<?php 
for($i=1;$i < 2;$i++)
{
$ext_name = chr(ord('a')+$i-1);
$img = "/images/$option/images/".$row->id.$ext_name."_t.jpg";
}
?>
Далее сама кнопка с передачей в мейл Заголовка, картинки, описания
Код
<td ><a target="_blank" class="mrc__plugin_like_button" href="http://connect.mail.ru/share?imageurl=http://9kvartira.ru<?php echo $img;?>&amp;title=<?php echo stripslashes(adsmanager_html::cutLongWord($row->ad_headline));?>&amp;description=<?php echo stripslashes(adsmanager_html::cutLongWord($row->ad_text));?>" data-mrc-config="{'type' : 'button', 'width' : '150', 'show_faces' : 'true'}">Поделиться</a>
<script src="http://cdn.connect.mail.ru/js/loader.js" type="text/javascript" charset="UTF-8"></script></td>
С фантазией плохо.
*

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
AlexSims для 2.6 есть решение закладок в контакте и в одноклассниках ?
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
используйте этот же код
Код
<table border="0"><tr>
<link href="http://stg.odnoklassniki.ru/share/odkl_share.css" rel="stylesheet">
<script src="http://stg.odnoklassniki.ru/share/odkl_share.js" type="text/javascript" ></script>

<td>
<div style="float: left;">
<?php $tar =  sefRelToAbs("index.php?option=$option&page=show_ad&adid=$row->id&catid=$row->category"); ?>
<a class="odkl-klass-stat" href="<?php echo $tar;?>"  onclick="ODKL.Share(this);return false;" ><span>0</span></a>
</div>
</td>
<td><script src="components/com_adsmanager/vkontakte.js" type="text/javascript"  charset="UTF-8"></script><script>
document.write(VK.Share.button(false,{type: "round", text: "Сохранить"})); </script></td>

</tr>
</table>

только соответственно поменять переменные в формировании ссылки $tar на те которые в 2.6 версии
С фантазией плохо.
*

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
вот какой результат      это мой косяк?
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
стилями подправьте чтоб на одной линии было и косяк какой то с отображением скрипта . вы вот этот пользовали?
Код
if (!window.VK) window.VK = {};
if (!VK.Share) {
  VK.Share = {
    _popups: [],
    _gens: [],
    _base_domain: '',
    _ge: function(id) {
      return document.getElementById(id);
    },
    button: function(gen, but, index) {
      if (!gen) gen = {};
      if (gen === gen.toString()) gen = {url: gen.toString()};
      if (!gen.url) gen.url = location.toString();

      if (!but) but = {type: 'round'};
      if (but === but.toString()) but = {type: 'round', text: but};
      if (!but.text) but.text = 'Сохранить';

      var old = true, count_style = 'display: none', count_width = 22;
      if (index === undefined) {
        gen.count = 0;
        gen.shared = (but.type == 'button' || but.type == 'round')? false : true;
        this._gens.push(gen);
        this._popups.push(false);
        index = this._popups.length - 1;
        old = false;
      } else {
        if ((gen.count = this._gens[index].count) && (but.type == 'button' || but.type == 'round')) {
          count_style = '';
          count_width = 29;
        }
        gen.shared = this._gens[index].shared;
        this._gens[index] = gen;
      }

      var head = document.getElementsByTagName('head')[0];
      if (!this._base_domain) {
        for (var elem = head.firstChild; elem; elem = elem.nextSibling) {
          var m;
          if (elem.tagName && elem.tagName.toLowerCase() == 'script' && (m = elem.src.match(/(http:\/\/(?:[a-z0-9_\-]*\.)?(?:vk\.com|vkontakte\.ru)\/)js\/api\/share\.js(?:\?|$)/))) {
            this._base_domain = m[1];
          }
        }
      }
      if (!this._base_domain) {
        this._base_domain = 'http://vkontakte.ru/';
      }
      if (!old && (but.type == 'button' || but.type == 'round')) {
        var elem = document.createElement('script');
        elem.src = this._base_domain + 'share.php?act=count&index=' + index + '&url=' + encodeURIComponent(gen.url);
        head.appendChild(elem);
      }
      if (but.type == 'button' || but.type == 'button_nocount') {
        return '<table cellspacing="0" cellpadding="0" id="vkshare' + index + '" onmouseover="VK.Share.change(1, ' + index + ');" onmouseout="VK.Share.change(0, ' + index + ');" onmousedown="VK.Share.change(2, ' + index + ');" onmouseup="VK.Share.change(1, ' + index + ');" onclick="VK.Share.click(' + index + ');" style="width: auto; cursor: pointer; border: 0px;"><tr style="line-height: normal;"><td></td>' +
               '<td style="vertical-align: middle;"><div style="border: 1px solid #3b6798;"><div style="border: 1px solid #5c82ab; border-top-color: #7e9cbc; background-color: #6d8fb3; color: #fff; text-shadow: 0px 1px #45688E; height: 15px; padding: 2px 4px 0px 6px; font-size: 10px; font-family: tahoma;">' + but.text + '</div></div></td>' +
               '<td style="vertical-align: middle;"><div style="background: url(http://vk.com/images/btns.png) 0px 0px no-repeat; width:' + count_width + 'px; height: 21px"></div></td>' +
               '<td style="vertical-align: middle;"><div style="border: 1px solid #a2b9d3; border-left: 0px; background-color: #dee6f1; height: 15px; padding: 2px 4px 0px 2px; font-size: 10px; font-family: tahoma;' + count_style + '">' + gen.count + '</div></td>' +
               '</tr></table>';
      } else if (but.type == 'round' || but.type == 'round_nocount') {
        return '<table cellspacing="0" cellpadding="0" id="vkshare' + index + '" onmouseover="VK.Share.change(1, ' + index + ');" onmouseout="VK.Share.change(0, ' + index + ');" onmousedown="VK.Share.change(2, ' + index + ');" onmouseup="VK.Share.change(1, ' + index + ');" onclick="VK.Share.click(' + index + ');" style="width: auto; cursor: pointer; border: 0px;"><tr style="line-height: normal;">' +
               '<td style="vertical-align: middle;"><div style="height: 21px; width: 2px; background: url(http://vk.com/images/btns.png) no-repeat -21px -42px;"></div></td>' +
               '<td style="vertical-align: middle;"><div style="border: 1px solid #3b6798; border-left: 0px;"><div style="border: 1px solid #5c82ab; border-left: 0px; border-top-color: #7e9cbc; background-color: #6d8fb3; color: #fff; text-shadow: 0px 1px #45688E; height: 15px; padding: 2px 4px 0px 6px; font-family: tahoma; font-size: 10px;">' + but.text + '</div></div></td>' +
               '<td style="vertical-align: middle;"><div style="background: url(http://vk.com/images/btns.png) 0px -21px no-repeat; width:' + count_width + 'px; height: 21px"></div></td>' +
               '<td style="vertical-align: middle;"><div style="border: 1px solid #a2b9d3; border-width: 1px 0px; background-color: #dee6f1; height: 15px; padding: 2px 3px 0px 2px; font-size: 10px; font-family: tahoma;' + count_style + '">' + gen.count + '</div></td>' +
               '<td style="vertical-align: middle;"><div style="background: url(http://vk.com/images/btns.png) -27px -42px; width: 2px; height: 21px;' + count_style + '"></div></td>' +
               '</tr></table>';
      } else if (but.type == 'link') {
        return '<table style="width: auto; cursor: pointer; line-height: normal;" onmouseover="this.rows[0].cells[1].firstChild.style.textDecoration=\'underline\'" onmouseout="this.rows[0].cells[1].firstChild.style.textDecoration=\'none\'" onclick="VK.Share.click(' + index + ')" cellspacing="0" cellpadding="0"><tr style="line-height: normal;">' +
               '<td style="vertical-align: middle;"><img src="http://vk.com/images/vk16.png" style="vertical-align: middle;"/></td>' +
               '<td style="vertical-align: middle;"><span style="padding-left: 5px; color: #2B587A; font-family: tahoma; font-size: 11px;">' + but.text + '</span></td>' +
               '</tr></table>';
      } else if (but.type == 'link_noicon') {
        return '<span style="cursor: pointer; font-family: tahoma; font-size: 11px; color: #2B587A; line-height: normal;" onmouseover="this.style.textDecoration=\'underline\'" onmouseout="this.style.textDecoration=\'none\'" onclick="VK.Share.click(' + index + ');">' + but.text + '</span>';
      } else {
        return '<span style="cursor: pointer" onclick="VK.Share.click(' + index + ');">' + but.text + '</span>';
      }
    },
    change: function(state, index) {
      var row = this._ge('vkshare' + index).rows[0];
      var elem = row.cells[1].firstChild.firstChild;
      if (state == 0) {
        elem.style.backgroundColor = '#6d8fb3';
        elem.style.borderTopColor = '#7e9cbc';
        elem.style.borderLeftColor = elem.style.borderRightColor = elem.style.borderBottomColor = '#5c82ab';
      } else if (state == 1) {
        elem.style.backgroundColor = '#84a1bf';
        elem.style.borderTopColor = '#92acc7';
        elem.style.borderLeftColor = elem.style.borderRightColor = elem.style.borderBottomColor = '#7293b7';
      } else if (state == 2) {
        elem.style.backgroundColor = '#6688ad';
        elem.style.borderBottomColor = '#7495b8';
        elem.style.borderLeftColor = elem.style.borderRightColor = elem.style.borderTopColor = '#51779f';
      }
      var left = row.cells[0].firstChild;
      if (left) {
        if (state == 0) {
          left.style.backgroundPosition = '0px 0px';
        } else if (state == 1) {
          left.style.backgroundPosition = '-23px -42px';
        } else if (state == 2) {
          left.style.backgroundPosition = '-25px -42px';
        }
      }
    },
    click: function(index) {
      var details = this._gens[index];
      if (!details.shared) {
        VK.Share.count(index, details.count + 1);
        details.shared = true;
      }
      var undefined;
      if (details.noparse === undefined) {
        details.noparse = details.title && details.description && details.image;
      }
      details.noparse = details.noparse ? 1 : 0;

      var params = {url: details.url};
      var fields = ['title', 'description', 'image', 'noparse'];
      for (var i = 0; i < fields.length; ++i) {
        if (details[fields[i]]) {
          params[fields[i]] = details[fields[i]];
        }
      }

      var popupName = '_blank';
      var width = 554;
      var height = 349;
      var left = (screen.width - width) / 2;
      var top = (screen.height - height) / 2;
      var popupParams = 'scrollbars=0, resizable=1, menubar=0, left=' + left + ', top=' + top + ', width=' + width + ', height=' + height + ', toolbar=0, status=0';
      var popup = this._popups[index] = window.open('', popupName, popupParams);
      try {
        var text = '<form accept-charset="UTF-8" action="' + this._base_domain + 'share.php" method="POST" id="share_form">';
        for (var i in params) {
          text += '<input type="hidden" name="' + i + '" value="' + params[i].toString().replace(/"/g, '&quot;') + '" />';
        }
        text += '</form>';
        text += '<script type="text/javascript">document.getElementById("share_form").submit()</script>';

        text = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">' +
               '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">' +
               '<head><meta http-equiv="content-type" content="text/html; charset=windows-1251" /></head>' +
               '<body>' + text + '</body></html>';
        popup.document.write(text);
      } catch (e) {
      }
      popup.blur();
      popup.focus();
    },
    count: function(index, count) {
      this._gens[index].count = count;
      var elem = this._ge('vkshare' + index);
      if (elem) {
        var row = elem.rows[0];
        if (count) {
          row.cells[3].firstChild.innerHTML = count;
          row.cells[2].firstChild.style.width = '29px';
          row.cells[3].firstChild.style.display = 'block';
          if (row.cells.length > 4) {
            row.cells[4].firstChild.style.display = 'block';
          }
        } else {
          row.cells[2].firstChild.style.width = '22px';
          row.cells[3].firstChild.style.display = 'none';
          if (row.cells.length > 4) {
            row.cells[4].firstChild.style.display = 'none';
          }
        }
      }
    }
  }
}
С фантазией плохо.
*

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
Да этот. да они на одно полосе. мне не нравится что кнопка вконтакте прерывестая
Код

сделал так. большое спасибо.
 if (but.type == 'button' || but.type == 'button_nocount') {
        return '<table cellspacing="0" cellpadding="0" id="vkshare' + index + '" onmouseover="VK.Share.change(1, ' + index + ');" onmouseout="VK.Share.change(0, ' + index + ');" onmousedown="VK.Share.change(2, ' + index + ');" onmouseup="VK.Share.change(1, ' + index + ');" onclick="VK.Share.click(' + index + ');" style="width: auto; cursor: pointer; border: 0px;"><tr style="line-height: normal;"><td></td>' +
               '<td style="vertical-align: middle; padding:0px;"><div style="border: 1px solid #3b6798;"><div style="border: 1px solid #5c82ab; border-top-color: #7e9cbc; background-color: #6d8fb3; color: #fff; text-shadow: 0px 1px #45688E; height: 15px; padding: 2px 4px 0px 6px; font-size: 10px; font-family: tahoma;">' + but.text + '</div></div></td>' +
               '<td style="vertical-align: middle; padding:0px;"><div style="background: url(http://vk.com/images/btns.png) 0px 0px no-repeat; width:' + count_width + 'px; height: 21px"></div></td>' +
               '<td style="vertical-align: middle; padding:0px;"><div style="border: 1px solid #a2b9d3; border-left: 0px; background-color: #dee6f1; height: 15px; padding: 2px 4px 0px 2px; font-size: 10px; font-family: tahoma;' + count_style + '">' + gen.count + '</div></td>' +
               '</tr></table>';
      } else if (but.type == 'round' || but.type == 'round_nocount') {
        return '<table cellspacing="0" cellpadding="0" id="vkshare' + index + '" onmouseover="VK.Share.change(1, ' + index + ');" onmouseout="VK.Share.change(0, ' + index + ');" onmousedown="VK.Share.change(2, ' + index + ');" onmouseup="VK.Share.change(1, ' + index + ');" onclick="VK.Share.click(' + index + ');" style="width: auto; cursor: pointer; border: 0px;"><tr style="line-height: normal;">' +
               '<td style="vertical-align: middle; padding:0px;"><div style="height: 21px; width: 2px; background: url(http://vk.com/images/btns.png) no-repeat -21px -42px;"></div></td>' +
               '<td style="vertical-align: middle; padding:0px;"><div style="border: 1px solid #3b6798; border-left: 0px;"><div style="border: 1px solid #5c82ab; border-left: 0px; border-top-color: #7e9cbc; background-color: #6d8fb3; color: #fff; text-shadow: 0px 1px #45688E; height: 15px; padding: 2px 4px 0px 6px; font-family: tahoma; font-size: 10px;">' + but.text + '</div></div></td>' +
               '<td style="vertical-align: middle; padding:0px;"><div style="background: url(http://vk.com/images/btns.png) 0px -21px no-repeat; width:' + count_width + 'px; height: 21px"></div></td>' +
               '<td style="vertical-align: middle; padding:0px;"><div style="border: 1px solid #a2b9d3; border-width: 1px 0px; background-color: #dee6f1; height: 15px; padding: 2px 3px 0px 2px; font-size: 10px; font-family: tahoma;' + count_style + '">' + gen.count + '</div></td>' +
               '<td style="vertical-align: middle; padding:0px;"><div style="background: url(http://vk.com/images/btns.png) -27px -42px; width: 2px; height: 21px;' + count_style + '"></div></td>' +
               '</tr></table>';
      } else if (but.type == 'link') {
        return '<table style="width: auto; cursor: pointer; line-height: normal;" onmouseover="this.rows[0].cells[1].firstChild.style.textDecoration=\'underline\'" onmouseout="this.rows[0].cells[1].firstChild.style.textDecoration=\'none\'" onclick="VK.Share.click(' + index + ')" cellspacing="0" cellpadding="0"><tr style="line-height: normal;">' +
               '<td style="vertical-align: middle; padding:0px;"><img src="http://vk.com/images/vk16.png" style="vertical-align: middle;"/></td>' +
               '<td style="vertical-align: middle; padding:0px;"><span style="padding-left: 5px; color: #2B587A; font-family: tahoma; font-size: 11px;">' + but.text + '</span></td>' +
               '</tr></table>';
« Последнее редактирование: 29.09.2011, 14:07:26 от AlexAl »
*

marozz1k

  • Захожу иногда
  • 316
  • 8 / 0
cкажи пожалуйста, вот у меня пример социальных кнопок, срочно нужны одноглазники:

Код
//social
//vk
if(mosGetParam( $_GET, 'page')=="show_ad" && strpos($conf->view_option,',vk,')!== false){
    $mainframe->addCustomHeadTag("<script type=\"text/javascript\" src=\"http://vkontakte.ru/js/api/share.js?3\" charset=\"windows-1251\"></script>");
$pic = $mosConfig_absolute_path."/images/com_adsmanager/foto/".$ad->id."a_t.jpg";
if(file_exists( $pic)){
    $vk.= "<script type=\"text/javascript\">document.write(VK.Share.button({type: \"round_nocount\", text: \"".ADSMANAGER_FORM_SUBMIT_TEXT."\",title: \"".str_replace(array("'",'"',"\n","\r")," ", ADSMANAGER_PAGE_TITLE . $ad->cat . " - ". $ad->ad_headline)."\",description:\"".str_replace(array("'",'"',"\n","\r")," ", $desc)."...\",image:\"$mosConfig_live_site/images/$option/foto/".$ad->id."a_t.jpg\"}));</script>";
        }else{
    $vk.= "<script type=\"text/javascript\">document.write(VK.Share.button({type: \"round_nocount\", text: \"".ADSMANAGER_FORM_SUBMIT_TEXT."\",title: \"".str_replace(array("'",'"',"\n","\r")," ", ADSMANAGER_PAGE_TITLE . $ad->cat . " - ". $ad->ad_headline)."\",description:\"".str_replace(array("'",'"',"\n","\r")," ", $desc)."...\"}));</script>";
}
$socialpl.= "<td>$vk</td>";
}
//vk
//mail
if(mosGetParam( $_GET, 'page')=="show_ad" && strpos($conf->view_option,',mail,')!== false){
    $mail = '<a class="mrc__share" href="http://connect.mail.ru/share"></a><script src="http://cdn.connect.mail.ru/js/share/2/share.js" type="text/javascript"></script>';
    $socialpl.= "<td>$mail</td>";
}
//mail
$url_to_ad = sefRelToAbs("index.php?option=$option&page=show_ad&adid=$adid&catid=$catid&Itemid=$itemid");
//facebook
if(mosGetParam( $_GET, 'page')=="show_ad" && strpos($conf->view_option,',fb,')!== false){
    $fb = '<script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script>';
    $fb.= '<a name="fb_share" type="button_count" share_url="'.$url_to_ad.'" ></a>';//<- invalid
    $socialpl.= "<td>$fb</td>";
}
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
про одноглазников не знаю..

вот одноклассники вот код
Код
<table border="0"><tr>
<link href="http://stg.odnoklassniki.ru/share/odkl_share.css" rel="stylesheet">
<script src="http://stg.odnoklassniki.ru/share/odkl_share.js" type="text/javascript" ></script>

<td>
<div style="float: left;">
<?php $tar =  sefRelToAbs("index.php?option=$option&page=show_ad&adid=$row->id&catid=$row->category"); ?>
<a class="odkl-klass-stat" href="<?php echo $tar;?>"  onclick="ODKL.Share(this);return false;" ><span>0</span></a>
</div>
</td>
С фантазией плохо.
*

marozz1k

  • Захожу иногда
  • 316
  • 8 / 0
да что-то не получается прикрутить, если просто тупо вставить этот код заместо, допустим ненужного твиттера - то ошибка, пробую подставлять переменные, по аналогии мейл.ру того же... всё равно где-то не так делаю... помогите пожалуйста с переменными этими, тут в сборке грината как-то по-хитрому немного сделаны эти социальные плагины, за помощь готов заплатить символическими 100 р. , скажем... Спасибо! пример кнопок прилагаю,
Код
//mail
$url_to_ad = sefRelToAbs("index.php?option=$option&page=show_ad&adid=$adid&catid=$catid&Itemid=$itemid");
//facebook
if(mosGetParam( $_GET, 'page')=="show_ad" && strpos($conf->view_option,',fb,')!== false){
    $fb = '<script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script>';
    $fb.= '<a name="fb_share" type="button_count" share_url="'.$url_to_ad.'" ></a>';//<- invalid
    $socialpl.= "<td>$fb</td>";
}
//google buzz
if(mosGetParam( $_GET, 'page')=="show_ad" && strpos($conf->view_option,',buzz,')!== false){
    $pic = $mosConfig_absolute_path."/images/com_adsmanager/foto/".$ad->id."a_t.jpg";
if(file_exists( $pic)){
        $gb = '<a href="http://www.google.com/buzz/post" class="google-buzz-button" title="Google Buzz" data-message="'.str_replace(array("'",'"',"\n","\r")," ", $desc).'" data-url="'.$url_to_ad.'" data-locale="ru" data-imageurl="'.$mosConfig_live_site.'/images/'.$option.'/foto/'.$ad->id.'a_t.jpg" data-button-style="small-count"></a>';
}else{
        $gb = '<a href="http://www.google.com/buzz/post" class="google-buzz-button" title="Google Buzz" data-message="'.str_replace(array("'",'"',"\n","\r")," ", $desc).'" data-url="'.$url_to_ad.'" data-locale="ru" data-button-style="small-count"></a>';
        }
$gb.= '<script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script>';
    $socialpl.= "<td>$gb</td>";
}
//twetter
if(mosGetParam( $_GET, 'page')=="show_ad" && strpos($conf->view_option,',twiter,')!== false){
    $tw = '<script type="text/javascript">tweetmeme_style = \\\'compact\\\';tweetmeme_url = \\\''.$url_to_ad.'\\\';</script><script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script>';
$socialpl.= "<td>$tw</td>";
}
if(strlen($socialpl)>20){
    $mail = "<script type=\"text/javascript\">
    var str='".implode("'+'<'+'",explode('<',$socialpl))."';
document.write(str);
</script>";
    $socialpl = '<center><table id="socialbookmarks" style="vertcial-align:center;"><tbody><tr>'.$mail.'</tr></tbody></table>';
}else{
    $socialpl = '';
}
*

Avory

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
подскажите пожалуйста, а в какой именно файл вставлять код? (j1.5 am2.6)
*

JomTime

  • Захожу иногда
  • 126
  • 3 / 2
  • Joom
подскажите пожалуйста, а в какой именно файл вставлять код? (j1.5 am2.6)
Поддерживаю в какой файл?:)
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
щас перешел на другой вариант соц закладок от яндекса. ( ИМХО посимпотичнее выглядят)

вот код ( для версии 2.6 вставлять в фаил \components\com_adsmanager\views\details\tmpl\default.php )
Код
<script type="text/javascript" src="components/com_adsmanager/yandex.js" charset="utf-8"></script>
<div class="yashare-auto-init" data-yashareL10n="ru" data-yashareType="none" data-yashareQuickServices="yaru,vkontakte,facebook,twitter,odnoklassniki,moimir,lj,friendfeed,moikrug"></div>

сам скрипт брать по ссылке http://yandex.st/share/share.js и сохранить в файле yandex.js и в папку /components/com_adsmanager.
С фантазией плохо.
*

Avory

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
спасибо!, с яндексом все сразу получилось
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
С фантазией плохо.
*

LS_D

  • Захожу иногда
  • 155
  • 16 / 0
Уважаемый AlexSims! Подскажите пожалуйста, как Вы сделали после поле общая площать (кв.м.)?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено]Дублирования ссылки "объвления" в breadcrumb, в компоненте AdsManager

Автор nicklas

Ответов: 4
Просмотров: 3987
Последний ответ 25.04.2024, 23:13:18
от Rinat abzyi
Примеры работ с использованием Adsmanager

Автор fuss

Ответов: 851
Просмотров: 209079
Последний ответ 07.03.2019, 23:06:17
от Den JW
[Решено] Похожие объявления в AdsManager 2.9.13

Автор Ishti39

Ответов: 17
Просмотров: 5322
Последний ответ 06.06.2017, 22:08:18
от gremeru777
Скрыть часть номера телефона в объявлении

Автор djsante

Ответов: 3
Просмотров: 4690
Последний ответ 30.05.2017, 12:18:42
от SeBun
[Решено] IP адрес разместившего объявление в ADS 2.5 Как ?

Автор semo777

Ответов: 20
Просмотров: 5206
Последний ответ 15.03.2017, 22:22:15
от lustoff