UTF-8 a Facebook sharer bug

Ahoj,

prosím vás o pomoc. Mám internetovou stránku na Drupalu 6 (http://ekoporno.cz/) a mám nainstalovaný modul facebooksharer. Zobrazuji ho s uzlama. Problém je, že když na něj kliknu, změní se mi v dialogovém okně na facebookove strane pismo, ktere nezna cestinu. Např. "Proletáři všech zemí, spojte se doslova" napíše jako: "Proletáři vÅ¡ech zemÃ, spojte se doslova". Všechny moduly včetně tohoto jsou v UTF-8 a já fakt ani necítím, kde by mohl být problém. Může mi prosím někdo poradit?

Děkuji

Fórum: 

Reklama

Zdravím, na první pohled jsem myslel, že se dívám na stránky Seznamu :-)

Nepomohlo by, kdyby to URL odkazující na Facebook mělo nadpis článku uváděný jako parametr překódovaný na HTML entity? Pomocí PHP funkce urlencode().

Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

Ahoj,

:) ten seznam to máte pravdu, tady je inspirace jasná, ale žlutá je tam hlavně kvůli grafice na ekoporno, jiná se mi tak nelíbila :( No a jinak, děkuju za výbornou knihu kterou jsem četl a stále používám,

Bohužel nejsem zrovna mistr v php ještě, takže nevim jak mám tu funkci použít a hlavně nevim, jestli to okno vůbec jde editovat, jestli to není iframe prostě ..

No jo… To asi bude spíše záležitostí toho modulu, muselo by se kouknout do jeho kódu a někam tu funkci nacpat. Nepoužívám ho, takže víc asi konkrétně neporadím. Třeba někdo jiný.

Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

Vypadá takto:

 

Nevíte někdo prosím?

 

<?php
// $Id: facebookshare.module,v 1.2 2010/04/08 15:54:37 willsteinmetz Exp $

/**
* @file
* Adds a button to a node to share on a user's Facebook stream
*/

/**
* Implements hook_help()
*/
function facebookshare_help($path, $arg) {
switch ($path) {
case 'admin/settings/facebookshare':
case 'admin/help#facebookshare':
return '<p>'. t('Provides a way for viewers to share a link to a node on' .
' their Facebook stream.') .'</p>';
}
}

/**
* Implements hook_perm()
*/
function facebookshare_perm() {
return array(
'administer facebookshare',
'access facebookshare'
);
}

/**
* Implements hook_menu()
*/
function facebookshare_menu() {
$item['admin/settings/facebookshare'] = array(
'title' => 'Facebook Share',
'description' => 'Provides the configuration options for how Facebook Share operates on the site.',
'page callback' => 'drupal_get_form',
'page arguments' => array('facebookshare_admin_settings'),
'access arguments' => array('administer facebookshare'),
'file' => 'facebookshare.admin.inc',
);

return $item;
}

/**
* Implements hook_nodeapi()
*/
function facebookshare_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
if ($op == 'view') {
// Make sure we're on the right content type.
if (!in_array($node->type, variable_get('facebookshare_types', array()), TRUE)) {
return NULL;
}

// Make sure we're actually building the page to render in a browser.
if ($node->build_mode != NODE_BUILD_NORMAL) {
return NULL;
}

// Make sure the user has access to use Facebook Share.
if (!user_access('access facebookshare')) {
return NULL;
}

// Retrieve the location where we should show it, the style and the URL of the button.
$location = variable_get('facebookshare_location', array());
$url = url('node/' . $node->nid, array('absolute' => TRUE));

// Check in the teaser and full view.
if (($teaser && !empty($location['teasers'])) || (!$teaser && !empty($location['content']))) {
drupal_add_css(drupal_get_path('module', 'facebookshare') . '/facebookshare.css');
$node->content['facebookshare'] = array(
'#value' => theme('facebookshare', $url),
'#weight' => 10,
);
}
}
}

/**
* Implements hook_theme()
*/
function facebookshare_theme($existing, $type, $theme, $path) {
return array(
'facebookshare' => array(
'arguments' => array(
'url' => NULL,
),
),
'facebookshare_button' => array(
'arguments' => array(
'url' => NULL,
'size' => NULL,
'text' => NULL,
),
),
);
}

/**
* Themes facebook share button box
*/
function theme_facebookshare($url) {
$output = '<div class="facebookshare-box">';
$output .= theme(
'facebookshare_button',
$url,
variable_get('facebookshare_size', ''),
variable_get('facebookshare_text', '')
);
$output .= '</div>';

return $output;
}

/**
* Themes facebook share button
*/
function theme_facebookshare_button($url, $size, $text) {
$output = '<a name="fb_share" ' .
'type="' . $size . '" share_url="' . $url . '">' .
$text . '</a>' .
'<script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" ' .
'type="text/javascript"></script>';

return $output;
}

TGak nakonec se to zaridilo samo :) Facebook to asi vyresil sam..

Přidat komentář