<?php
/**
* @package Pkb Social Share
* @author Dmitry Rekun and Artem Valchuk <support@norrnext.com>
* @copyright Copyright © 2015 - 2016 NorrNext. All rights reserved.
* @license GNU General Public License version 3 or later; see license.txt
*/
namespace NorrnextSocialShareContent;
use PagekitApplication as App;
use PagekitContentEventContentEvent;
use PagekitEventEventSubscriberInterface;
class SocialSharePlugin implements EventSubscriberInterface
{
/**
* Content plugins callback.
*
* @param ContentEvent $event
*/
public function onContentPlugins(ContentEvent $event)
{
if (!$event['post']) {
return;
}
if (strpos(App::request()->attributes->get('_route'), '@blog/id') === false) {
return;
}
$config = App::config('norrnext/social-share');
$post = $event['post'];
$image = $post->get('image.src');
$id = $post->id;
$title = $post->title;
$options = array();
$options['size'] = $config->get('buttons.size', 'default');
$options['counters'] = $config->get('buttons.counters', 1);
$options['text'] = $config->get('buttons.text', 1);
$options['icons'] = $config->get('buttons.icons', 1);
foreach ($options as $option => $name) {
$data[] = '"'.$option.'": "'.$name.'"';
}
$content = $event->getContent();
$buttons = App::view(
'norrnext/social-share:/views/buttons.php', [
'config' => $config,
'data' => $data,
'image' => $image,
'id' => $id,
'title' => $title
]
);
$event->setContent($buttons . $content);
}
/**
* {@inheritdoc}
*/
public function subscribe()
{
return [
'content.plugins' => ['onContentPlugins', 10]
];
}
}Yukarıda gördüğünüz kod Pagekit için symfony ile yazıldı. Symfony event olayını bir türlü kavrayamıyorum. Bu paket ile blog yazılarının içine social buton koymaya yarıyor.
/**
* Content plugins callback.
*
* @param ContentEvent $event
*/
public function onContentPlugins(ContentEvent $event)
{
if (!$event['post']) {
return;
}fonksiyonun içindeki if eğer sayfa bir blog yazısı ise devam etmesini söylüyor. Sorunumda buradan başlıyor. Print_r ile $event i bastığım okadar çok veri geliyor ki bilgisayar donuyor. post'a benzer bir şeyler varmı yokmu bunu nasıl öğrenicem bunda? mesela örnek, ben yorumlara bir şey eklemek istiyorum. Bu ve bunun gibi bir kaç tane daha sorum var. Eğer bana yardımcı olan arkadaş kabul ederse onlarıda sormak isterim izin verirse.Teşekkürler