Magento 1 social
\!h ----- facebook like button facebook share button
https://developers.facebook.com/tools/debug
чистит кэш фейсбука
<iframe src="//www.facebook.com/plugins/like.php?href=<?php echo $_product->getProductUrl() ?>&send=false&layout=button_count&width=150&show_faces=false&action=like&colorscheme=light&font&height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:150px; height:21px;" allowTransparency="true"></iframe>
<meta property="og:image" content="<?php echo get_template_directory_uri(); ?>/images/logo.jpg" />
<link rel="image_src" href="<?php echo get_template_directory_uri(); ?>/images/logo.jpg" />
\!h ----- FacebookLike, Twitter, Pinit Button на странице продукта
<ul class="social-plugins">
<?php
$_pinlink['url'] = $_product->getProductUrl();
$_pinlink['media'] = $this->helper('catalog/image')->init($_product, 'image')->__toString() ;
$_pinlink['description'] = $_helper->productAttribute($_product, $_product->getName(), 'name') . " - " . strip_tags($_product->getDescription());
?>
<li><div class="fb-like" data-href="<?php echo $_pinlink['url']; ?>" data-send="true" data-layout="button_count" data-width="130" data-show-faces="false"></div></li>
<li><a href="https://twitter.com/share" class="twitter-share-button">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script></li>
<li><a href="http://pinterest.com/pin/create/button/?<?php echo http_build_query($_pinlink) ?>" class="pin-it-button" count-layout="none"></a>
<script type="text/javascript" async defer data-pin-custom="true" src="//assets.pinterest.com/js/pinit.js"></script>
или дефолтная
<script type="text/javascript" src="//assets.pinterest.com/js/pinit.js"></script>
</li>
</ul>
\!h ----- share this Share This add this addthis
мусор в урле hash #
Share This
<script type="text/javascript">stLight.options({publisher: "INSERTYOURPUBKEY", doNotHash:true, doNotCopy:true,hashAddressBar:false});</script>
Add This
<script type="text/javascript">
var addthis_config = addthis_config||{};
addthis_config.data_track_addressbar = false;
</script>
\!h ----- Добавление в HEAD meta для социальных кнопок
Для того чтобы корректно работали кнопки социальных сетей (особенно Facebook который берет данные из head из мета тэгов meta property=”og:image”) нужно в head получить конкретный продукт и вывесте в мета тэгах его картинку, дескрипшен и т.п.
Это можно сделать таким образом:
в файл head.phtml (в папке template/page/html) нужно добавить такой код:
<?php if (Mage::registry('current_product')) : ?>
<meta property="og:image" content="<?php echo Mage::helper('catalog/image')->init(Mage::registry('current_product'), 'small_image')->resize(100,100);?>" />
<meta property="og:title" content="<?php echo Mage::registry('current_product')->getMetaTitle()?>" />
Также можно получить и другие данный из атрибутов продукта, обычно же нужна только картинка и тайтл продукта.
Этот метод будет работать только на странице сингл продукта.
\!h ----- instagram INSTAGRAM
http://jelled.com/instagram/access-token
http://jelled.com/instagram/lookup-user-id
http://instagram.com/developer/endpoints/users/#get_users_feed
{{block type="core/template" token="281496136.ab103e5.60a81e7a32e4412498f35ce8d4d1770c" user_id="281496136" name="home-instagram" template="additional/instagram.phtml"}}
additional/instagram.phtml
<?php
$token = $this->gettoken();
$user_id = $this->getuser_id();
function fetchData($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
$result = fetchData("https://api.instagram.com/v1/users/".$user_id."/media/recent/?access_token=".$token);
$result = json_decode($result);
if(!empty($result)):
?>
<div class="instagramm-gallery">
<h2><span><span><?php echo $this->__('SCS UNLIMITED ON INSTAGRAM'); ?></span></span></h2>
<div class="holder">
<img src="<?php echo $this->getSkinUrl('images/bg-instagramm.jpg'); ?>" alt="bg" class="bg" height="221" />
<div class="instagramm-carousel">
<div class="mask">
<div class="slideset">
<?php foreach ($result->data as $post): if($post->type == 'image'): ?>
<div class="slide">
<a href="<?php echo $post->images->standard_resolution->url; ?>" rel="lightbox">
<img src="<?php echo $post->images->standard_resolution->url; ?>" width="149" height="150" alt="image description" />
</a>
</div>
<?php endif; endforeach; ?>
</div>
</div>
<a class="btn-prev" href="#"><?php echo $this->__('Previous'); ?></a>
<a class="btn-next" href="#"><?php echo $this->__('Next'); ?></a>
</div>
</div>
</div>
<?php endif; ?>
----- Без curl
<?php
$token = $this->gettoken();
$user_id = $this->getuser_id();
$images_count = $this->getimages_count();
$url = 'https://api.instagram.com/v1/users/'.$user_id.'/media/recent/?access_token='.$token;
$cache = './'.sha1($url).'.json';
if(file_exists($cache) && filemtime($cache) > time() - 60*60){
$jsonData = json_decode(file_get_contents($cache));
} else {
$jsonData = json_decode((file_get_contents($url)));
file_put_contents($cache,json_encode($jsonData));
}
if(!empty($jsonData->data)):
?>
<ul>
<?php $counter = 0; foreach ($jsonData->data as $key => $post): if($post->type == 'image'): ++$counter; ?>
<li>
<a href="<?php echo $post->link; ?>">
<img src="<?php echo $post->images->standard_resolution->url; ?>" width="217" height="217" alt="image descritpion" >
</a>
</li>
<?php if($counter == $images_count){ break; } endif; endforeach; ?>
</ul>
<?php endif; ?>