marketplace_list.twig (8568B)
1 {{ header }}{{ column_left }} 2 <div id="content"> 3 <div class="page-header"> 4 <div class="container-fluid"> 5 <div class="pull-right">{% if not error_signature %} 6 <button type="button" id="button-opencart" data-toggle="tooltip" title="{{ button_opencart }}" class="btn btn-info"><i class="fa fa-cog"></i></button> 7 {% else %} 8 <button type="button" id="button-opencart" data-toggle="tooltip" title="{{ error_signature }}" data-placement="left" class="btn btn-danger"><i class="fa fa-exclamation-triangle"></i></button> 9 {% endif %}</div> 10 <h1>{{ heading_title }}</h1> 11 <ul class="breadcrumb"> 12 {% for breadcrumb in breadcrumbs %} 13 <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> 14 {% endfor %} 15 </ul> 16 </div> 17 </div> 18 <div class="container-fluid"> 19 <div class="panel panel-default"> 20 <div class="panel-heading"> 21 <h3 class="panel-title"><i class="fa fa-puzzle-piece"></i> {{ text_list }}</h3> 22 </div> 23 <div class="panel-body"> 24 <div class="well"> 25 <div class="input-group" id="extension-filter"> 26 <input type="text" name="filter_search" value="{{ filter_search }}" placeholder="{{ text_search }}" class="form-control" /> 27 <div class="input-group-btn">{% for category in categories %} 28 {% if category.value == filter_category %} 29 <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">{{ text_category }} ({{ category.text }}) <span class="caret"></span></button> 30 {% endif %} 31 {% endfor %} 32 <ul class="dropdown-menu"> 33 {% for category in categories %} 34 <li><a href="{{ category.href }}">{{ category.text }}</a></li> 35 {% endfor %} 36 </ul> 37 <input type="hidden" name="filter_category_id" value="{{ filter_category_id }}" class="form-control" /> 38 <input type="hidden" name="filter_download_id" value="{{ filter_download_id }}" class="form-control" /> 39 <input type="hidden" name="filter_rating" value="{{ filter_rating }}" class="form-control" /> 40 <input type="hidden" name="filter_license" value="{{ filter_license }}" class="form-control" /> 41 <input type="hidden" name="filter_partner" value="{{ filter_partner }}" class="form-control" /> 42 <input type="hidden" name="sort" value="{{ sort }}" class="form-control" /> 43 <button type="button" id="button-filter" class="btn btn-primary"><i class="fa fa-filter"></i></button> 44 </div> 45 </div> 46 </div> 47 <div class="row"> 48 <div class="col-sm-9 col-xs-7"> 49 <div class="btn-group">{% for license in licenses %} 50 {% if license.value == filter_license %}<a href="{{ license.href }}" class="btn btn-default active">{{ license.text }}</a>{% else %}<a href="{{ license.href }}" class="btn btn-default">{{ license.text }}</a>{% endif %} 51 {% endfor %}</div> 52 </div> 53 <div class="col-sm-3 col-xs-5"> 54 <div class="input-group pull-right"> 55 <div class="input-group-addon"><i class="fa fa-sort-amount-asc"></i></div> 56 <select onchange="location = this.value;" class="form-control"> 57 58 59 60 61 {% for sorts in sorts %} 62 {% if sorts.value == sort %} 63 64 65 66 67 <option value="{{ sorts.href }}" selected="selected">{{ sorts.text }}</option> 68 69 70 71 72 {% else %} 73 74 75 76 77 <option value="{{ sorts.href }}">{{ sorts.text }}</option> 78 79 80 81 82 {% endif %} 83 {% endfor %} 84 85 86 87 88 </select> 89 </div> 90 </div> 91 </div> 92 <br /> 93 <div id="extension-list">{% if promotions %} 94 <h3>Featured</h3> 95 <div class="row">{% for extension in promotions %} 96 {% if extension %} 97 <div class="col-lg-3 col-md-4 col-sm-6 col-xs-12"> 98 <section> 99 <div class="extension-preview"><a href="{{ extension.href }}"> 100 <div class="extension-description"></div> 101 <img src="{{ extension.image }}" alt="{{ extension.name }}" title="{{ extension.name }}" class="img-responsive" /></a></div> 102 <div class="extension-name"> 103 <h4><a href="{{ extension.href }}">{{ extension.name }}</a></h4> 104 {{ extension.price }}</div> 105 <div class="extension-rate"> 106 <div class="row"> 107 <div class="col-xs-6">{% for i in 1..5 %} 108 {% if extension.rating >= i %}<i class="fa fa-star"></i>{% else %}<i class="fa fa-star-o"></i>{% endif %} 109 {% endfor %}</div> 110 <div class="col-xs-6"> 111 <div class="text-right">{{ extension.rating_total }} {{ text_reviews }}</div> 112 </div> 113 </div> 114 </div> 115 </section> 116 </div> 117 {% endif %} 118 {% endfor %}</div> 119 <hr /> 120 {% endif %} 121 122 {% if extensions %} 123 <div class="row"> {% for extension in extensions %} 124 125 {% if extension %} 126 <div class="col-lg-3 col-md-4 col-sm-6 col-xs-12"> 127 <section> 128 <div class="extension-preview"><a href="{{ extension.href }}"> 129 <div class="extension-description"></div> 130 <img src="{{ extension.image }}" alt="{{ extension.name }}" title="{{ extension.name }}" class="img-responsive" /></a></div> 131 <div class="extension-name"> 132 <h4><a href="{{ extension.href }}">{{ extension.name }}</a></h4> 133 {{ extension.price }}</div> 134 <div class="extension-rate"> 135 <div class="row"> 136 <div class="col-xs-6">{% for i in 1..5 %} 137 {% if extension.rating >= i %}<i class="fa fa-star"></i>{% else %}<i class="fa fa-star-o"></i>{% endif %} 138 {% endfor %}</div> 139 <div class="col-xs-6"> 140 <div class="text-right">{{ extension.rating_total }} {{ text_reviews }}</div> 141 </div> 142 </div> 143 </div> 144 </section> 145 </div> 146 {% endif %} 147 {% endfor %} </div> 148 {% else %} 149 <p class="text-center">{{ text_no_results }}</p> 150 {% endif %} </div> 151 <div class="row"> 152 <div class="col-sm-12 text-center">{{ pagination }}</div> 153 </div> 154 </div> 155 </div> 156 </div> 157 158 <script type="text/javascript"><!-- 159 $('#button-opencart').on('click', function(e) { 160 $('#modal-opencart').remove(); 161 162 $.ajax({ 163 url: 'index.php?route=marketplace/api&user_token={{ user_token }}', 164 dataType: 'html', 165 beforeSend: function() { 166 $('#button-opencart').button('loading'); 167 }, 168 complete: function() { 169 $('#button-opencart').button('reset'); 170 }, 171 success: function(html) { 172 $('body').append('<div id="modal-opencart" class="modal">' + html + '</div>'); 173 174 $('#modal-opencart').modal('show'); 175 }, 176 error: function(xhr, ajaxOptions, thrownError) { 177 alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); 178 } 179 }); 180 }); 181 //--></script> 182 <script type="text/javascript"><!-- 183 $('#button-filter').on('click', function(e) { 184 var url = 'index.php?route=marketplace/marketplace&user_token={{ user_token }}'; 185 186 var input = $('#extension-filter :input'); 187 188 for (i = 0; i < input.length; i++) { 189 if ($(input[i]).val() != '' && $(input[i]).val() != null) { 190 url += '&' + $(input[i]).attr('name') + '=' + $(input[i]).val() 191 } 192 } 193 194 location = url; 195 }); 196 197 $('input[name="filter_search"]').keydown(function(e) { 198 if (e.keyCode == 13) { 199 e.preventDefault(); 200 201 $('#button-filter').trigger('click'); 202 } 203 }); 204 //--></script></div> 205 {{ footer }}