hook überschreiben, dass er in einer anderen Region aufgerufen wird
Eingetragen von xpla (38)
am 18.09.2010 - 12:27 Uhr in
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 1 Tag 17 Stunden
vor 1 Tag 21 Stunden
vor 2 Tagen 3 Stunden
vor 2 Tagen 21 Stunden
vor 3 Tagen 7 Minuten
vor 3 Tagen 1 Stunde
vor 3 Tagen 4 Stunden
vor 3 Tagen 4 Stunden
vor 3 Tagen 12 Stunden
vor 3 Tagen 21 Stunden