Die Laravel-Datentabellen geben einen HTML-Code als Text zurück. Ich habe rawColumns und EscapeColumns verwendet, aber es funktioniert nicht
Bitte was für eine Lösung und danke
Nachfolgend finden Sie Bilder
Hallo,
Es ist normal, EscapeColumn dient zum Escapen von Spalten, also wird es maskiert.
Aber was soll ich tun, um ein HTML-Element zurückzugeben?
danke für Ihre Antwort
Sie können rawColumns(['link'])
Ich habe es benutzt, das gleiche Problem ist aufgetreten
versuche Version 7.9.5 zu verwenden, es funktioniert für mich, vielleicht ist es ein neuer Fehler.
bearbeiten:
Ich glaube, ich habe den Fehler gefunden. In EscapeColumns in DataProcessor befindet sich ein array_diif_key
versuche ['link' => true]
oder so ähnlich.
Ich habe die letzte Version von datatables laravel verwendet.
Ich habe auch versucht ['link' => true] aber nicht funktioniert,
Muss ich die Laravel-Version auf 5.4 aktualisieren?
Ich glaube nicht, dass es Ihr Problem lösen wird
Was soll ich Ihrer Meinung nach tun?
Sie haben EscapeColumns (['link' => true) oder rawColumns (['link' => true]) ausprobiert?
Ja, so ist es.
Ich meine, welches hast du getestet?
Sie können auch EscapeColumns ([]) ausprobieren.
Ich habe sie beide getestet
EscapeColumns ([]) sollte das Escape-Verfahren für alle Spalten als Problemumgehung deaktivieren
Ich habe alle Lösungen ausprobiert, aber nichts geändert
und EscapeColumns (null)?
Gleiches Problem,
Ich habe die Frage, warum die Aktionsspalte HTML zurückgibt, der Link jedoch nicht.
es sollte funktionieren, ich verstehe nicht.
Sie haben alle EscapeColumns-Aufrufe entfernt?
Wie kann ich alle EscapeColumns-Aufrufe entfernen? und warum?
in deinem Code meine ich,
denn wenn du rawColumns machst
und als nächstes machen Sie das Gegenteil mit EscapeColumns an einer anderen Stelle in Ihrem Code.
Mein Code ist jetzt
Rückgabe Datatables :: of ($ row)
-> addColumn ('link', ' Html Column
-> addColumn ('action', ' Html Column
-> EscapeColumns (null)
-> make (true);
versuche stattdessen -> EscapeColumns (''), aber ein leeres Array sollte auch funktionieren, ich verstehe es nicht.
Gleiches Problem, ich verstehe auch nicht, warum die Aktion wahrscheinlich funktioniert, aber der Link Nr
Die Aktion funktioniert, da sie nicht standardmäßig maskiert ist
Vielen Dank für Ihre Mühen,
Gibt es eine Möglichkeit, eine Lösung zu finden?
Habe einen Patch v7.9.8 veröffentlicht. Können Sie bitte überprüfen, ob das Problem dadurch behoben wird? Vielen Dank und Entschuldigung für die Unannehmlichkeiten.
Wie kann ich auf die letzte Version aktualisieren?
Ich denke, Sie sollten versuchen:
[
'link' => 'link'
];
Die neueste Version behebt dieses Problem für mich nicht.
wenn ich mache :
->escapeColumns(['action' => 'action'])
->rawColumns(['action'])
Die Aktionsspalte wird maskiert, und wenn ich das tue:
->escapeColumns(['action' => 'action'])
->rawColumns(['action => 'action'])
Die Spalte wird nicht mehr maskiert.
Wie kann ich meine Version auf 7.9.8 aktualisieren?
Sie können Ihre composer.json ändern und yajra / laravel-datatables auf 7.9.8 setzen
und dann aktualisieren Composer Yajra / Laravel-Datentabellen
Wenn Sie Composer benötigen, benötigen Sie yajra / laravel-datatables 7.9.8 direkt. Dadurch wird Ihre composer.json geändert und das Paket aktualisiert
Ok, ich werde es versuchen
Vielen Dank
Endlich funktioniert es,
Vielen Dank, dass Sie Yajre und IK77
Ich habe EscapeColumn ['Link'] in der letzten Version verwendet, es funktioniert wahrscheinlich
Für Versionen über 8 müssen Sie zur Datei config / datatables.php gehen .... und Ihren Spaltennamen in .... raw => ['name_of your_column'] hinzufügen.
Hilfreichster Kommentar
versuche stattdessen -> EscapeColumns (''), aber ein leeres Array sollte auch funktionieren, ich verstehe es nicht.