В стандартном поле соцсетей только 3 кнопки, можно туда скопировать код еще и вконтакте?
Не подскажите как это сделать?
Отправлено 15 May 2013 - 06:38
В стандартном поле соцсетей только 3 кнопки, можно туда скопировать код еще и вконтакте?
Не подскажите как это сделать?
Отправлено 15 May 2013 - 07:19
http://forum.joomla-...24.html#msg2424
там есть элемент рабочий
есть еще комерческий плагин, там все и вконтакте и однокласники гугл плюс и т.д
Сообщение отредактировал alexmixaylov: 15 May 2013 - 07:20
Отправлено 15 May 2013 - 08:35
http://forum.joomla-...24.html#msg2424
там есть элемент рабочий
есть еще комерческий плагин, там все и вконтакте и однокласники гугл плюс и т.д
Спасибо, там конечно столько информации...
А мне надо всегото кнопку добавить, не закладки,
это правильно?
"Насколько я понимаю, скажем для добавления кнопки "вконтакте" нужно внести правку в файл
/media/zoo/elements/socialbuttons/socialbuttons.php"
можно туда просто код кнопки скопировать?
Отправлено 15 May 2013 - 08:58
Вот код socialbuttons.php с Вконтакте Mail.ru и Одноклассники
<?php
/**
* @package com_zoo
* @author YOOtheme http://www.yootheme.com
* @copyright Copyright (C) YOOtheme GmbH
* @license http://www.gnu.org/licenses/gpl.html GNU/GPL
*/
/*
Class: ElementSocialbuttons
The Socialbuttons element class
*/
class ElementSocialbuttons extends Element implements iSubmittable {
private $doc = '';
function __construct(){
parent::__construct();
$this->doc = JFactory::getDocument();
}
/*
Function: hasValue
Checks if the repeatables element's value is set.
Parameters:
$params - render parameter
Returns:
Boolean - true, on success
*/
public function hasValue($params = array()) {
return $this->get('value', $this->config->get('default')) && ($this->config->get('twitter') || $this->config->get('google') || $this->config->get('facebook'));
}
/*
Function: render
Override. Renders the element.
Parameters:
$params - render parameter
Returns:
String - html
*/
public function render($params = array()) {
// render html
if ($this->get('value', $this->config->get('default'))) {
//init vars
$params = $this->app->data->create($params);
$html = array();
$item_route = JRoute::_($this->app->route->item($this->_item, false), true, -1);
$locale = $this->config->get('locale') ? '' : str_replace('-', '_', $this->app->system->getLanguage()->getTag());
// Facebook and Google only seem to support es_ES and es_LA for all of LATAM
$locale = (substr($locale, 0, 3) == 'es_' && $locale != 'es_ES') ? 'es_LA' : $locale;
// add assets
$this->app->document->addStylesheet('elements:socialbuttonsall/socialbuttons.css');
$html[] = '<div class="yoo-zoo socialbuttons clearfix">';
// Tweet Button
if ($this->config->get('twitter')) {
$this->app->system->document->addScript('//platform.twitter.com/widgets.js');
$html[] = '<div><a href="//twitter.com/share" class="twitter-share-button"'
.' data-url="'.htmlspecialchars($item_route).'"'
. ($params->get('twvia') ? ' data-via="'.$params->get('twvia').'"' : '')
. ($params->get('twtext') ? ' data-text="'.$params->get('twtext').'"' : '')
. ($params->get('twrelated') ? ' data-related="'.$params->get('twrelated').'"' : '')
. ($params->get('twcount') ? ' data-count="'.$params->get('twcount').'"' : '')
. ($locale ? ' data-lang="'.$locale.'"' : '')
.'>'.JText::_('Tweet').'</a></div>';
}
// Google Plus One
if ($this->config->get('google')) {
$this->app->system->document->addScript('//apis.google.com/js/plusone.js');
$html[] = '<div><div class="g-plusone" data-href="'.htmlspecialchars($item_route).'"'
.($params->get('ggsize') ? ' data-size="'.$params->get('ggsize').'"' : '')
.($params->get('ggannotation') ? ' data-annotation="'.$params->get('ggannotation').'"' : '')
.($params->get('ggwidth') ? ' data-width="'.$params->get('ggwidth').'"' : '')
.($locale ? '' : ' data-lang="'.$locale.'"')
.'></div></div>';
}
// Facebook Like
if ($this->config->get('facebook')) {
static $added = false;
if (!$added) {
$this->app->system->document->addScriptDeclaration(
'jQuery(function($) { if (!$("body").find("#fb-root").length) {
$("body").append(\'<div id="fb-root"></div>\');
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/'.($locale ? $locale : 'en_US').'/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, \'script\', \'facebook-jssdk\'));
}});');
$added = true;
}
$html[] = '<div><div class="fb-like"'
.' data-href="'.htmlspecialchars($item_route).'"'
.' data-send="false"'
.' data-layout="'.$params->get('fblayout').'"'
.' data-width="'.$params->get('fbwidth').'"'
.' data-show-faces="'.$params->get('fbshow_faces').'"'
.' data-action="'.$params->get('fbaction').'"'
.' data-colorscheme="'.$params->get('fbcolorscheme').'"'
.($params->get('ref') ? ' data-ref="'.$params->get('fbref').'"' : '')
.'></div></div>';
}
//vkontakte
$this->doc->addScript("http://vk.com/js/api/openapi.js?84");
$this->doc->addScriptDeclaration(<<<'VKHEAD'
VK.init({apiId: 3510283, onlyWidgets: true});
VKHEAD
);
$html[] = '<div id="vk_like"></div>
<script type="text/javascript">
VK.Widgets.Like("vk_like", {type: "button", height: 20});
</script>';
// mail.ru + odnoklassniki
$html[] = <<<'MAILRU'
<div id="mailru"><a target="_blank" class="mrc__plugin_uber_like_button" href="http://connect.mail.ru/share" data-mrc-config="{'cm' :'1', 'ck' : '1', 'sz' : '20', 'st' : '2', 'tp' : 'combo'}">??N??°????N?N?N?</a><script src="http://cdn.connect.mail.ru/js/loader.js" type="text/javascript" charset="UTF-8"></script></div>
MAILRU;
$html[] = '</div>';
return implode("\n", $html);
}
return null;
}
/*
Function: edit
Renders the edit form field.
Returns:
String - html
*/
public function edit() {
return $this->app->html->_('select.booleanlist', $this->getControlName('value'), '', $this->get('value', $this->config->get('default')));
}
/*
Function: renderSubmission
Renders the element in submission.
Parameters:
$params - AppData submission parameters
Returns:
String - html
*/
public function renderSubmission($params = array()) {
return $this->edit();
}
/*
Function: validateSubmission
Validates the submitted element
Parameters:
$value - AppData value
$params - AppData submission parameters
Returns:
Array - cleaned value
*/
public function validateSubmission($value, $params) {
return array('value' => (bool) $value->get('value'));
}
}
Отправлено 17 May 2013 - 06:38
RomanL, вставляю ваш код и кнопки вплоть до вконтакте отображаются столбиком, а Mail.ru и Одноклассники уже в строчку (исходный код - всё в строчку). Как поправить? Спасибо