ClocxHD
Lt. Junior Grade
- Registriert
- Aug. 2014
- Beiträge
- 376
Hallo,
ich versuche, mit AngularJS "News" aus einer Datenbank auszugeben.
Das funktioniert auch soweit.
Jedoch möchte ich den Text als HTML ausgeben, da für die Eingabe TinyMCE verwendet wird.
(Zum Thema Sicherheit sollte das nicht so das Problem sein, da 1. News nur von Administratoren hinzugefügt werden können, und zweitens schon von Framework gegen XSS etc. "geschützt" wird.)
Mein JavaScript:
Mein HTML/Twig Code:
Durch Googlen habe ich erfahren, dass man dafür "ng-bind-html" verwenden kann, jedoch habe ich ja nicht nur einen Eintrag, sondern mehrere, und verwende deshalb "ng-repeat".
Wie kann ich das dort machen?
Info:
Als Framework wird Silex, und als Templating-Engine Twig verwendet.
Vielen Dank schon mal im voraus!
Edit:
Hier der JSON-Code, der ausgewertet wird:
LG,
ClocxHD
ich versuche, mit AngularJS "News" aus einer Datenbank auszugeben.
Das funktioniert auch soweit.
Jedoch möchte ich den Text als HTML ausgeben, da für die Eingabe TinyMCE verwendet wird.
(Zum Thema Sicherheit sollte das nicht so das Problem sein, da 1. News nur von Administratoren hinzugefügt werden können, und zweitens schon von Framework gegen XSS etc. "geschützt" wird.)
Mein JavaScript:
Code:
var thamian = angular.module('thamianNews', []);
thamian.controller('NewsController', function ($scope, $http, $sce) {
$http.get("https://www.thamian.de/news/json").success(function (response) {
$scope.news = response;
$scope.newsText = $sce.trustAsHtml(response.Title);
});
$scope.getData = function () {
$http.get("https://www.thamian.de/news/json").success(function (response) {
$scope.news = response;
});
};
setInterval($scope.getData, 20000);
});
Mein HTML/Twig Code:
HTML:
<div class="news" style="overflow-y: auto" ng-modules="thamianNews" ng-controller="NewsController">
<div class="bknews" ng-repeat="eintrag in news">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><b>Titel:</b> {% verbatim %}{{ eintrag.Title }}{% endverbatim %} | <b>Art:</b> Intern</h4>
</div>
<div class="panel-body">
{% verbatim %}{{ eintrag.Text }}{% endverbatim %}
</div>
<div class="panel-footer">
Hinzugefügt von <b>{% verbatim %}{{ eintrag.Added_By }}{% endverbatim %}</b> am <b>{% verbatim %}{{ eintrag.Date }}{% endverbatim %}</b>
</div>
</div>
</div>
</div>
Durch Googlen habe ich erfahren, dass man dafür "ng-bind-html" verwenden kann, jedoch habe ich ja nicht nur einen Eintrag, sondern mehrere, und verwende deshalb "ng-repeat".
Wie kann ich das dort machen?
Info:
Als Framework wird Silex, und als Templating-Engine Twig verwendet.
Vielen Dank schon mal im voraus!
Edit:
Hier der JSON-Code, der ausgewertet wird:
Code:
[
{
ID: "2",
Added_By: "fthielen",
Title: "Noch einer. D:",
Text: "<p>Noch ein Post von der Seite. D:</p>",
Date: "26.08.2016, 13:17:15"
},
{
ID: "1",
Added_By: "fthielen",
Title: "Test",
Text: "<p>Oha. D:</p>",
Date: "26.08.2016, 13:09:15"
}
]
LG,
ClocxHD
Zuletzt bearbeitet:
(JSON hinzugefügt)