Git Product home page Git Product logo

Comments (7)

liayn avatar liayn commented on September 25, 2024

Hallo!

Du musst ja die config nicht aus einer json lesen, sondern kannst die Config ja direkt generieren und an die Backend-Klasse weitergeben.
Dann kannst du deine Domain nach Belieben festlegen bzw. dynamisieren.

from shariff-backend-php.

frankthies avatar frankthies commented on September 25, 2024

OK, sorry, dass war mir bisher nicht bewußt. Habe mir die readme noch mal angeschaut und gesehen, dass man per use Heise\Shariff\Backend; das backend direkt aufrufen kann. Aber wie bekomme ich dann die Counterwerte in die Buttons übertragen? Das habe ich leider noch nicht verstanden.

Danke!

from shariff-backend-php.

liayn avatar liayn commented on September 25, 2024
$theUrl = 'http://example.com';
$config = [
    'domain' => 'example.com',
    'facebook...' => '...',
    ...
];
$shariff = new Backend($config);
$theResults = $shariff->get($theUrl);
// $theResults now holds an array of couter values, which you can pass along wherever you like
// most likely you will json_encode() them and return them as result of the AJAX query back to the shariff frontend

from shariff-backend-php.

frankthies avatar frankthies commented on September 25, 2024

Hallo liayn,

Danke für Deine Hilfe und sorry wenn ich nerven sollte. Ich habe das alles bis zum Abruf der Daten verstanden und das ich json_encode anzuwenden habe, bevor die Daten verarbeitet werden können. Aber den Teil ab dann verstehe ich nicht. Ich habe doch keine "Feld" in der shariff-DIV, wo ich die Daten eintragen kann:

<div class="shariff" data-services="["facebook","googleplus","xing","stumbleupon","twitter","whatsapp"]" data-url="http://www.xxx.de"> </div>

Also kann ich die Daten nicht so "eintragen", sondern muss ein separates Script schreiben, dass ich in der data-backend-url="" eintrage. Sehe ich das richtig so?

Danke

Frank

from shariff-backend-php.

liayn avatar liayn commented on September 25, 2024

Ich bin mir nicht sicher was du genau meinst.

Der Ablauf funktioniert grundsätzlich so:

  • Das Shariff JS baut die ganzen sharing buttons
  • Wenn das div-tag eine data-backend-url hat, dann schickt es eine AJAX-Anfrage an diese Adresse, wo als Parameter die aktuelle URL, wo die buttons sind (oder die URL, die im data-url attribute steht), übergeben wird.
  • Das Script unter der data-backend-url ist ein Script von dir (oder deinem CMS), das eine AJAX Anfrage entgegennehmen kann. Du verwendest darin das Shariff-Backend.
  • Das Shariff-Backend prüft, ob die übergebene URL "zulässig" ist, indem es gegen die konfigurierten Domains (domain) vergleicht. Wenn keine Domains angegeben sind, dann sind alle URLs zulässig.
  • Das Backend fragt dann bei den diversen Portalen die Zahlen ab und gibt die dann als PHP array an dein Script retour. Du musst dann das Resultat im JSON-Format als Antwort rausschicken.
  • Das Shariff JS im Browser nimmt die Antwort vom AJAX-Script, also das JSON, entgegen und bastelt die Nummern bei den buttons dazu.

from shariff-backend-php.

frankthies avatar frankthies commented on September 25, 2024

Sorry, Du hast Recht, ich habe mich schlecht ausgedrückt. Danke für die ausführliche Antwort, habe es nun (hoffentlich grins) endgültig verstanden.

Ich meinte, dass ich das backend-Script (index.php) so anpassen muss, damit es die Grunddaten nicht aus der shariff.json ausließt sondern per PHP übergebe oder aus einer Datenbank auslese. Wenn man aber einfach die Variable domain weglassen kann, dann kann man natürlich u.U. darauf verzichten. Erhöht "nur" das Risiko einer mißbräuchlichen Nutzung des Scripts und das will ich natürlich auch nicht zulassen :)

Danke nochmal für Deine Hilfe!!!

from shariff-backend-php.

compeak avatar compeak commented on September 25, 2024

Ich schliesse das Ticket mal. Oeffnet es einfach wieder, falls es neue Fragen gibt.

from shariff-backend-php.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.