Hallo,
hab heute mal probiert Facebook in mein 4.5.2 Azure zu integrieren. Dabei unter Grundeinstellungen -> Einstell. -> Facebook “Kunde muss Facebook Social Plugins erlauben” und all die anderen Facebook-Plugins aktiviert. Wenn ich nun auf die Artikel-Detailseite gehe fällt mir erst einmal auf dass der Button “Preisalarm” geklickt ist. Ich weiß nicht was das mit Facebook zu tun haben könnte. Dann gibt es da den Button “F Anzeigen ?”. Wenn ich darauf klicke werde ich auf die Homepage gelenkt und keine Facebook-Plugins angezeigt.
Mir kommt es so vor als ob für 4.5.2 Azure, oder auch nur für 4.5 Azure, das mit Facebook noch nicht so richtig funktioniert.
Wie seht ihr das? Würde mich freuen wenn mich jemand aufklären könnte und bedanke mich schon mal dafür.
Albert
Ich hab jetzt mal den Demoshop diesbezüglich angeschaut. Bei dem funktionierts. Aber im Admin-Bereich hab ich bei Facebook zwei zusätzliche Felder, die nicht im Demoshop drin sind, nämlich: Application ID und Application Secret Key. Ist es möglich dass, obwohl die Versions-Nummern dieselben sind, doch etwas zusätzlich an der Demo-Version gemacht wurde sodass diese funktioniert?
Albert
Ich fand im Internet folgenden Forumthreadtext bezüglich der Benützung von href="#" welcher im Facebook-Button benützt wird:
“A quick word of advice when using href=”#" … if used in conjunction with the <base> tag, these links will navigate away from the current page to the base URL. For that reason, I always avoid href="#""
Und das ist genau was bei mir passiert: Das <base> tag wird benützt und beim Anklicken des Buttons werde ich auf die Startseite verlinkt. Das Sonderbare an der Sache ist dass der Demoshop auch das <base> tag verwendet und es trotzdem funktioniert.
Jetzt meine Bitte an die Profis (ich bin keiner): Wie kann man das dann programmieren dass es auch für meinen Shop funktioniert?
Für alle Hilfe schon jetzt vielen Dank.
Albert
Ich kann mir gar nicht vorstellen dass ich der Einzige bin der dieses Facebook-Problem hat. Wie habt ihr denn das gelöst?
Albert
Vielleicht kann mir jemand helfen diesen Sourcecode zu verstehen, der auch im Demoshop steht:
<div class="oxfbenable fbEnableButton corners">
<a href="#">Anzeigen</a>
<a href="#" class="oxfbinfo helpText">?</a>
</div>
Zuerst einmal kann ich in oxid.css die Klasse “oxfbenable” NICHT finden. Dann verstehe ich nicht wie durch den Befehl
<a href="#">Anzeigen</a>
die Facebook-Icons angezeigt werden können. Denn wie oben erwähnt müsste man beim Anklicken von “Anzeigen” ja auf die Homepage verzweigen.
Für eine helfende Hand wäre ich sehr dankbar.
Albert
Der von Dir gepostete Code stellt nur den Button selbst dar. Die Funktion muss irgendwo anders sein.
Die Angaben “oxfbenable” wird in diesem Fall nicht in der css-Datei gebraucht, sondern von einem Javascript angesprochen. Das lädt nach dem Klick dann den Like-Button. Das Konstrukt “<a href=”#">Anzeigen</a>" bewirkt lediglich, das es für den Browser wie ein “normaler” Link aussieht.
Ohne die konkrete Seite sehen zu können, kann man dir schlecht helfen.
Ich mache das für meinen Neffen und seine Frau. Die wollten diese Background- und Seitenfarben, was ich aber nicht so toll finde. Bis jetzt hatten sie keine Zeit sich das mal anzuschauen. Also, stör dich bitte nicht an den Farben und den manchmal nicht lesbaren Text. Auch fehlen einige Produkttexte.
Bitte schau dir mal ein Produktdetail an und klicke auf den Facebook-Anzeigen-Button. Dann wirst du sehen was ich mit all meinen obigen Threads gemeint habe.
Albert
Ein Versuch die Facebook-Funktion zu nutzen kommt diese Javascript-Fehlermeldung:
Fehler: oxFacebook is not defined
Quelldatei: http://creatives-ambiente.com/oxid/de/Haengeleuchten/Haengeleuchte-Stefanie-DOUPLEPIPEWAVE.html
Zeile: 737
Du hast vermutlich beim Verändern der tpl-Dateien etwas ungewollt entfernt, was zur facebook-Funktion gehört. Vermutlich in der widget/facebook/enable.tpl oder der details/ajax/fullproductinfo.tpl.
Ein weiterer Fehler ist das doppelte einbinden der Dateien: oxflyoutbox.js und oxmodalpopup.js
Also wenn ich auf den Facebook-Button klicke springe ich, wie erwähnt, auf die Startseite, OHNE Fehlermeldung.
Die einzige relevante Datei die ich geändert habe ist die productmain.tpl, weil mein Neffe keine Lageranzeige will. Mit meinen mageren Kenntnissen weiß ich nicht ob ich die Löschung von Programmzeilen richtig durchgeführt habe. Deshalb füge ich hier den Änderungsteil ein:
[{elseif $oDetailsProduct->getStockStatus() == 1}]
<span class="stockFlag lowStock" itemprop="availability" href="http://schema.org/InStock">[{oxmultilang ident="DETAILS_LOWSTOCK"}]</span>
[{elseif $oDetailsProduct->getStockStatus() == 0}]
<!-- <span class="stockFlag" itemprop="availability" href="http://schema.org/InStock"> -->
[{* if $oDetailsProduct->oxarticles__oxstocktext->value}]
[{$oDetailsProduct->oxarticles__oxstocktext->value}]
[{elseif $oViewConf->getStockOnDefaultMessage()}]
[{oxmultilang ident="DETAILS_READYFORSHIPPING"}]
[{/if *}]
<!-- </span> -->
[{/if}]
[{/block}]
Stimmt das so?
Kannst du mir erklären wie diese doppelten JS-Dateien in die Seite hineingekommen sind? Und wo muss ich da was ändern dass diese verschwinden?
Es wäre toll wenn du mir weiterhin helfen würdest.
Albert
Ich hab mir mal den Sourcecode des Demoshops angeschaut. Dort kommen aber oxflyoutbox.js und oxmodalpopup.js auch doppelt vor.
Albert
Mal eine andere Frage zu dem Ganzen: Ist es evtl. notwendig dass man unter “Einstell.” -> “Facebook” eine “Application ID” und einen “Application Secret Key” eingeben MUSS um überhaupt die Facebook-Buttons nutzen zu können? Diese Angaben fehlen bei mir nämlich, weil ich sie nicht habe. Auch habe ich in der azure/tpl/widget/facebook/init.tpl diese Zeile gefunden:
[{oxscript add="$('.oxfbenable').click( function() { oxFacebook.showFbWidgets('`$sFbAppId`','`$sLocale`','`$sLoginUrl`','`$sLogoutUrl`'); return false;});"}]
wo auch das oben erwähnte “oxfbenable” vorkommt. So wie ich diese für mich ganz neue Syntax dechiffriere testet dieses Template auf die Facebook-App-ID, die ich wie erwähnt NICHT habe.
Albert
So wie ich das jetzt sehe muss ich mich für meine Faulheit, den Hilfetext im Facebook-Setup nicht zu lesen, entschuldigen. Ich verstehe es jetzt so dass man eine App bei Facebook angemeldet haben MUSS um die Facebook-Funktionen verwenden zu können. Ursprünglich dachte ich das müsste ich nur tun wenn ich eine Facebook-Page auf Facebook hätte.
Nun versuchte ich also mit der Hilfe auf
eine App zu erstellen. Nachdem ich die Daten dort eingegeben habe komme ich zu der Seite
https://developers.facebook.com/apps
wo ich aber KEINE ID und Secret Key finde. Wenn ich dort auf “Anwendung bearbeiten” klicke kommt eine Seite mit dem Text “Seite nicht gefunden”. Anscheinend ist das Tutorial veraltet und es gibt einen anderen Weg die App anzumelden. Weiß das jemand von euch?
Es würde mich freuen wenn mir jemand helfen könnte, sodass ich endlich meine Fehler vergessen und die Facebooksache abschließen könnte.
Vielen Dank schon mal dafür.
Albert
Geh auf den Button “App neu erstellen” und gib dann in der ersten Zeile nochmals den anzuzeigenden Namen ein, zweite Zeile kann erstmal leer bleiben.
Also ich gehe laut Hilfetext auf die Seite
https://developers.facebook.com/setup/
Dort steht aber nicht “App neu erstellen”, sondern “Anwendung erstellen”. Und dort muss man den Websitenamen UND die Seitenadresse eingeben.
Albert
genau - und auf der Folgeseite dann auf “Neue Anwendung erstellen”