added share field formatter

This commit is contained in:
Bachir Soussi Chiadmi
2015-05-08 22:23:56 +02:00
parent 9917b00f22
commit 7b71ab2e1b
4 changed files with 90 additions and 5 deletions
@@ -499,15 +499,16 @@ function chapitre_field_default_field_instances() {
'display' => array(
'chapter' => array(
'label' => 'above',
'module' => 'text',
'module' => 'jeemod',
'settings' => array(),
'type' => 'text_default',
'type' => 'share_butons',
'weight' => 4,
),
'default' => array(
'label' => 'above',
'module' => 'jeemod',
'settings' => array(),
'type' => 'hidden',
'type' => 'share_butons',
'weight' => 4,
),
'teaser' => array(
@@ -6,6 +6,7 @@ dependencies[] = features
dependencies[] = field_collection
dependencies[] = field_group
dependencies[] = image
dependencies[] = jeemod
dependencies[] = node
dependencies[] = strongarm
dependencies[] = text
+78 -2
View File
@@ -41,8 +41,6 @@ function jeemod_entity_info_alter(&$entity_info) {
}
/**
* Implements hook_video_embed_field_handlers_alter().
*/
@@ -106,3 +104,81 @@ function jeemod_handle_vimeo($url, $settings) {
'?' . $settings_str . '" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowfullscreen></iframe>',
);
}
/**
* Implements hook_field_formatter_info().
*/
function jeemod_field_formatter_info() {
return array(
'share_butons' => array(
'label' => t('Share butons (Twitter, Facebook)'),
'field types' => array('text'),
),
);
}
/**
* Implements hook_field_formatter_view().
*/
function jeemod_field_formatter_view($entity_type, $entity, $field, $instance, $lang_code, $items, $display) {
$element = array();
foreach ($items as $delta => $item) {
$element[$delta] = array(
'#theme' => 'jeemod_share_links',
'#entity' => $entity,
// '#url' => $entity->field_partager['und'][0]['url'],
);
}
return $element;
}
/**
* Implements hook_theme().
*/
function jeemod_theme() {
return array(
'jeemod_share_links' => array(
'template' => 'jeemod_share_links',
'variables' => array(
'entity' => NULL,
// 'url' => NULL,
),
),
);
}
function jeemod_preprocess_jeemod_share_links(&$vars){
global $base_url;
// dsm($vars);
$entity = $vars['entity'];
$sitetitle = variable_get('site_name', '');
$nodetitle = $entity->title;
$nodeurl = $base_url . base_path() . "#principe-" . $entity->nid;
$text = $nodetitle ." | ". $sitetitle . " - " . $nodeurl;
$tags = explode(' ', str_replace('#', '', $entity->field_partager['und'][0]['value']));
$vars['twitter_url'] = url("https://twitter.com/intent/tweet", array(
'absolute'=>true,
'query'=>array(
// "button_hashtag"=>implode(',',$tags),
"button_hashtag"=>$tags[0],
"text"=>$text,
)
));
$vars['twitter_title'] = "Twitter $nodetitle";
$vars['fb_url'] = url("https://www.facebook.com/sharer.php", array(
'absolute'=>true,
'query'=>array(
"u"=>$nodeurl,
"t"=>$text,
)
));
$vars['fb_title'] = "Partager $nodetitle";
}
@@ -0,0 +1,7 @@
<a class="twitter-buttuon" href="<?php print $twitter_url; ?>" target="_blank">
<?php print $twitter_title; ?>
</a>
<br/>
<a class="fb-button" href="<?php print $fb_url; ?>" target="_blank">
<?php print $fb_title; ?>
</a>