Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

196
Views
OctoberCMS Ajax Ordenar en la interfaz

Estoy buscando las mejores prácticas para ordenar una lista en la interfaz usando ajax.

Así que tengo un componente que recorre todos los elementos. Luego, una barra lateral con casillas de verificación para filtrar usando Ajax. Cada casilla de verificación será una categoría y vivirá un filtro al marcar ese filtro.

En mi componente default.htm, tengo

 {% set items = __SELF__.items %} <div class="col-md-12" id="results"> {% for item in items %} <ul> <li>{{ item.title }} - {{ item.description }}</li> </ul> {% endfor %} </div>

y un botón hasta que funcione para cambiar a casillas de verificación.

 <button class="btn btn-default" data-request="onHandleForm" data-request-update="#results"> Go

y en mi archivo de complemento de componentes

 // Fetches everything public function onRun() { $order = items::orderBy('id', 'asc'); $this->items = $order->get(); } function onHandleForm() { // Fetch all of the items where category is 2 for test purposes $order = items::orderBy('id', 'desc')->where('category','2'); $filter = $order->get(); $this->page['items'] = $filter; }

Sin embargo, tengo problemas con la parte que no se encuentra. Lo anterior es bastante descuidado, pero solo estoy buscando la mejor manera de actualizar el contenido (¿usar múltiples parciales para actualizar o solo un div?) Y también estoy tratando con el alcance.

Sé sobre la actualización parcial, pero necesito un ejemplo de trabajo para aprender. No conozco las mejores prácticas para el alcance en un componente, si esto afectará o no la paginación y cómo estructurar la configuración con múltiples parciales en un componente.

about 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Si desea extraer las actualizaciones parciales del controlador, el nombre del atributo debe ser

 data-request-update="resultsPartialName: '#results'"

Puedes usar múltiples parciales también así:

 data-request-update="firstpartial: '#myDiv', secondpartial: '#otherDiv'"

La otra forma de hacerlo es enviar las actualizaciones parciales desde el controlador ajax. Esto me parece un poco más limpio, pero es solo una cuestión de preferencia.

 function onRefreshTime() { return [ '#myDiv' => $this->renderPartial('mypartial') ]; }

Más info en la página de Actualización de parciales de la documentación oficial.

about 4 years ago · Santiago Trujillo Report

0

Cambie a default.htm si default.htm está en una carpeta, luego reemplace data-request-update="foldername/default:'#results'"

 <form data-request="{{ __SELF__ }}::onFormSubmit" data-request-validate> <button class="btn btn-default" data-request="onHandleForm" data-request-update="default:'#results'"> </form>

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!