hook überschreiben, dass er in einer anderen Region aufgerufen wird
am 18.09.2010 - 12:27 Uhr in
Hallo,
ich würde gerne das Modul FacebookConnect ändern. Konkret wird das fb-root div und die "window.fbAsyncInit = function() {" am Ende der Seite geladen.
Ich würde dies gerne direkt nach dem BodyTag laden.
Habe dazu eine neue Region erstellt, diese direkt unter dem Body Tag aufgerufen und die Funktion folgendermaßen abgeändert -> anstatt $footer alles durch $facebookinclude (Name der Region) ersetzt.
/**
* Implementation of hook_footer().
*/
function fbconnect_facebookinclude() {
if ($config = fbconnect_get_config()) {
$facebookinclude = array();
$facebookinclude['fb-init-code'] = <<<CODE
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '$config[app_id]',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
logging: '$config[debug]',
xfbml: true
});
jQuery.event.trigger('fb:init');
};
(function() {
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/$config[language_code]/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
</script>
CODE;
// ugly hack to integrate with fb_social
if (@$config['omit_fb_init_code']) {
unset($facebookinclude['fb-init-code']);
}
if (!fbconnect_get_fbuid(TRUE)) {
// Display the autoconnect form.
$facebookinclude['autoconnect-form'] = '<div style="display: none">' . drupal_get_form('fbconnect_autoconnect_form') . '</div>';
}
// drupal_alter('fbconnect_facebookinclude', $facebookinclude);
return join("\n", $facebookinclude);
}
}Nur das haut leider nicht hin. Es erfolgt keine Ausgabe.
- Anmelden oder Registrieren um Kommentare zu schreiben

Neue Kommentare
vor 3 Stunden 2 Minuten
vor 6 Tagen 6 Stunden
vor 2 Wochen 2 Tagen
vor 2 Wochen 3 Tagen
vor 10 Wochen 19 Stunden
vor 10 Wochen 1 Tag
vor 10 Wochen 2 Tagen
vor 10 Wochen 6 Tagen
vor 10 Wochen 6 Tagen
vor 11 Wochen 4 Tagen