View Javascript funktioniert nur bei der ersten Ausgabe
am 29.12.2013 - 17:47 Uhr in
Hallo,
folgendes Problem stellt sich mir. Ich habe einen View angelegt in dem ich nodes per Felder ausgebe. Ein Textfeld soll ein button werden der Text in die Zwischenablage kopiert. Das ganze mache ich mit dem Jquery Plugin namens "Zeroclipboard". Das Problem ist nur, dass es immer nur bei dem ersten ausgegebenen Inhalt funktioniert. Also ich lasse mir 10 nodes ausgeben und es läßt sich nur der erste ansprechen.
Den Javascript Code habe ich in eine field--field-name-Inhaltstyp.tpl.php Datei für das Feld geschrieben.
Ich glaube das Problem erkannt zu haben es müßte am besten doch bei jedem klick auf den button geladen werden oder?
Mir fehlt leider das Fachwissen um das zu realisieren zu können. Habe schon den ganzen Sonntag nach einer Lösung gesucht.
Hoffe ich habe mich halbwegs verständlich ausgedrückt und Ihr habt einen Tipp für mich.
Der Code für das Plugin sieht so aus:
<script src="ZeroClipboard.js" type="text/javascript"></script>
<script type="text/javascript">
var clip = new ZeroClipboard( document.getElementById("copy_initiator"), {
moviePath: "ZeroClipboard.swf"
} );
clip.on( 'load', function ( client, args ) {
});
//this event happens upon initiating the copy
clip.on( 'dataRequested', function ( client, args ) {
clip.setText( "<?php print render($item); ?>");
} );
//this event happens upon the copy finishing
clip.on( 'complete', function(client, args) {
alert("Copied text to clipboard: " + args.text );
} );
</script>
<div id="copy_initiator">Click me to Copy Text!</div>
und hier ist die Version zu finden: https://github.com/zeroclipboard/zeroclipboard/blob/master/docs/instructions.md
Beste Grüße
Hasel
- Anmelden oder Registrieren um Kommentare zu schreiben
Hallo, So kann das nicht
am 30.12.2013 - 10:54 Uhr
Hallo,
So kann das nicht gehen.
Das Script wird mit jedem Feldaufruf geladen. Es gehört ein einziges Mal in eine js-Datei oder muss über drupal_add_js entsprechend eingebunden werden.
Was Du hier über PHP reinprintest kannst Du dann in ein z.B. über ein data-attib zuweisen, dass Du dann mit einem Selektor auswählst der sich auf 'this' (also: in dem Fall das angeklickte Element) bezieht, mit jquery.data() http://api.jquery.com/jquery.data/ auslesen wird, und dann 'clip.setText' zugewiesen wird.
Gruß
Christian
Don't code today what you can't debug tomorrow
Ariya Hidayat
Hallo Christian, vielen Dank
am 30.12.2013 - 17:30 Uhr
Hallo Christian,
vielen Dank für Deine Antwort. Ich habe den Javascript code jetzt in eine eigene Datei kopiert und über eingebunden.
Das habe ich soweit noch verstanden aber jquery ist absolutes Neuland für mich. Das sagt mir leider alles garnichts :-( Kannst Du mir da noch ein bisschen behilflich sein? Mir quasi auf die Sprünge helfen?
Ist wahrscheinlich alles doch komplexer als ich gedacht habe. Es soll so sein ich klicke auf den button der Text aus dem Feld wird in die Zwischenablage kopiert und eine neue Seite öffnet sich. Kriege ich das hin?
lg
Hasel
alko-hohl.de | Testberichte für Solarladegeräte
Hallo Hasel, ob Du
am 30.12.2013 - 18:34 Uhr
Hallo Hasel,
ob Du 'unbedingt' JQuery dafür brauchst weiss ich nicht, machts halt eigentlich leichter wenn es ums selektieren geht. Mit "Crashkurs" ist da jetzt auch nicht zu machen.
Aber hast Du gesehen, dass es für zeroclipboard ein Dupal Modul gibt, vielleicht tust Du Dich damit leichter https://drupal.org/project/zeroclipboard
Gruß
Christian
Don't code today what you can't debug tomorrow
Ariya Hidayat
view field mit zclip veknüpfen funktioniert noch nicht
am 10.01.2014 - 12:48 Uhr
Hej,
das Modul zeroclipboard läuft wohl nicht so richtig wenn ich es richtig verstanden habe. Ich habe mich jetzt für das Jquery Plugin zclip entschieden und bei fiddle auch was gefunden. Könnte mir das weiterhelfen?
jsfiddle
Die Javascript Dateien habe ich jetzt in dem info file im themes Ordner hinzugefügt. Die sind laut firebug auch einegunden genauso wie die jquery version 1.10.1 über google die ich in der html.php eingebunden habe.
Ich bekomme es aber trotzdem nicht zum laufen.
Noch jemand nen Tipp für mich?
lg
hasel
alko-hohl.de | Testberichte für Solarladegeräte