vendor/uvdesk/support-center-bundle/Resources/views/Knowledgebase/article.html.twig line 1

Open in your IDE?
  1. {% extends "@UVDeskSupportCenter/Templates/layout.html.twig" %}
  2. {% block canonical %} {% if article.slug %} {{ url('helpdesk_knowledgebase_read_slug_article', {'slug':article.slug }) }} {% endif %} {% endblock %}
  3. {% block ogcanonical %} {% if article.slug %} {{ url('helpdesk_knowledgebase_read_slug_article', {'slug':article.slug }) }} {% endif %} {% endblock %}
  4. {% block title %}{{ article.metaTitle ? article.metaTitle : article.name }}{% endblock %}
  5. {% block ogtitle %}{{ article.metaTitle ? article.metaTitle : article.name }}{% endblock %}
  6. {% block twtitle %}{{ article.metaTitle ? article.metaTitle : article.name }}{% endblock %}
  7. {% block metaDescription %}{{ article.metaDescription ? article.metaDescription : uvdesk_service.createConentToKeywords(article.content, 255, true)|join(' ') }}{% endblock %}
  8. {% block metaKeywords %}{{ article.keywords ?? uvdesk_service.createConentToKeywords(article.content) }}{% endblock %}
  9. {% block body %}
  10.     <div class="uv-paper-article">
  11.         <div class="uv-paper-section">
  12.             <section style="word-wrap: break-word;">
  13.                 <h1 {% if article.stared %}class="uv-starred"{% endif %}>{{ article.name }}</h1>
  14.                 <p>{{ article.content |raw }}</p>
  15.                 <div class="uv-author">
  16.                     {% if articleAuthor is defined and articleAuthor is not empty %}
  17.                         <div class="uv-author-avatar">
  18.                             {% if articleAuthor.user.profileImage is defined and articleAuthor.user.profileImage %}
  19.                                 <img src="{{articleAuthor.user.profileImage}}">
  20.                             {% else %}
  21.                                 <img src="{{ asset(default_customer_image_path) }}">
  22.                             {% endif %}
  23.                         </div>
  24.                         <div class="uv-author-info">
  25.                             <p>{{ articleAuthor.firstName | capitalize }} {{ articleAuthor.lastName | capitalize }}</p>
  26.                             <p><span>{{"Published on"|trans}} -</span> {{dateAdded}}</p>
  27.                         </div>
  28.                     {% endif %}
  29.                 </div>
  30.             </section>
  31.             {% if feedbacks is defined and feedbacks.enabled == true %}
  32.                 <section id="feedbacks" class="article-feedbacks">
  33.                     {% if feedbacks.submitted == true %}
  34.                         <p>Thank you for your feedback!</p>
  35.                     {% endif %}
  36.                 </section>
  37.             {% endif %}
  38.         </div>
  39.         {% include "@UVDeskSupportCenter/Templates/sidepanel.html.twig" %}
  40.     </div>
  41.     {{ parent() }}
  42. {% endblock %}
  43. {% block footer %}
  44.     {{ parent() }}
  45.     {# Article Feedbacks #}
  46.     {% if feedbacks is defined and feedbacks.enabled == true and feedbacks.submitted == false %}
  47.         <script id="article_feedback_template" type="text/template">
  48.             <p>Was this article helpful?</p>
  49.             <ul>
  50.                 <li class="uv-btn-small article-badge-pta" data-feedback="positive">Yes</li>
  51.                 <li class="uv-btn-small article-badge-pta" data-feedback="negative">No</li>
  52.             </ul>
  53.         </script>
  54.         <script type="text/javascript">
  55.             $(function() {
  56.                 var ArticleFeedback = Backbone.View.extend({
  57.                     el: $("#feedbacks"),
  58.                     feedbacks: {positive: 0, negative: 0, collection: []},
  59.                     template: _.template($("#article_feedback_template").html()),
  60.                     events: {
  61.                         'click .article-badge-pta': 'ratingsPTA',
  62.                     },
  63.                     initialize: function() {
  64.                         {% if feedbacks is defined and feedbacks.article is not empty %}
  65.                             this.feedbacks = {{ feedbacks.article|json_encode|raw }};
  66.                         {% endif %}
  67.                         this.render();
  68.                     },
  69.                     render: function() {
  70.                         this.$el.html(this.template());
  71.                     },
  72.                     ratingsPTA: function(e) {
  73.                         var self = this;
  74.                         var feedbackType = $(e.currentTarget).data('feedback');
  75.                         $.ajax({
  76.                             url: "{{ url('helpdesk_knowledgebase_rate_article', {'articleId': article.id}) }}",
  77.                             method: 'POST',
  78.                             data: {
  79.                                 feedback: feedbackType,
  80.                             },
  81.                             success: function(response) {
  82.                                 this.$el.html('');
  83.                                 app.appView.renderResponseAlert(response);
  84.                             },
  85.                             error: function(response) {
  86.                                 response = $.parseJSON(response.responseText);
  87.                                 // app.appView.hideLoader();
  88.                                 app.appView.renderResponseAlert(response);
  89.                             }
  90.                         });
  91.                     },
  92.                 });
  93.                 var articleFeedback = new ArticleFeedback();
  94.             });
  95.         </script>
  96.     {% endif %}
  97. {% endblock %}