Tengo una vista de un tipo de contenido que contiene dos campos de fecha diferentes (uno con repeticiones de fecha y una fecha única de valores múltiples). Solo se completa un campo de fecha en un momento dado. En la visualización de la vista, combiné los dos campos al ocultar el primer campo de fecha y reescribir el segundo e incluir el token de reemplazo del primero y el segundo. ¿Hay alguna forma de usar ahora el campo reescrito para ordenar la vista en orden ascendente en función de este campo de fecha combinado? Parece que lo ordena según el valor original del campo de fecha.
He hecho mi investigación y solo he encontrado hilos viejos, algo relacionados, con callejones sin salida.
vistas ordenadas por campo reescrito?
La tabla no se ordena en el campo reescrito, sino en el campo original
Vistas: campo personalizado para criterios de clasificación
Ordenar por global: texto personalizado. ¿Es posible?
Esperaba que haya una forma nueva o astuta de hacer que esto suceda.
Respuestas:
Si no desea ir por la ruta del módulo, esta es una alternativa:
1) instale el módulo
de campo calculado 2) agregue un campo calculado a su tipo de contenido
3) en la configuración del campo, en el área de texto del código calculado (PHP), puede acceder a los datos del campo.
Obtenga sus campos de fecha en su idioma actual a una variable.
Sus valores de fecha ahora se pueden encontrar en
Haga la lógica que necesite con sus campos de fecha y asigne el resultado a
Ahora tiene un campo ordenable que puede usar en las vistas, pero primero debe actualizar todos los nodos ya que el campo calculado solo se calculará y se guardará en la base de datos al guardar el nodo. Hay muchas maneras de hacer esto, una está usando las Operaciones de Bulk de Vistas, le da la opción de volver a guardar los nodos en admin / content.
fuente
[und]
sintaxis. Utilice field_get_items en su lugar.Creo que puedes hacerlo con las Vistas Natural Sort . Tiene la opción de ordenar los campos significa - Habilitar la clasificación para campos específicos . ¡Si sigues este tutorial , tendrás una idea!
fuente
La única forma astuta de hacer que esto suceda es que si no usa la paginación, puede usar la ordenación de PHP en una anulación de consulta personalizada que no depende de la base de datos.
De acuerdo con stevector ,
Por lo tanto, la solución más práctica y confiable es utilizar el campo calculado como lo menciona Kari Kääriäinen.
fuente
Esta es una forma un poco hacky de hacerlo, pero funciona y no necesita módulos adicionales.
Cree una etiqueta para el campo en el que desea ordenar y NO la excluya de la pantalla. En cambio, reescriba la pantalla como "en blanco" agregando un
<!---->
comentario html vacío como valor de reescritura. Luego agregue su otro campo php / reescrito como hijo de esta columna.Esto mostrará el encabezado de la tabla para la columna correcta para ordenar.
fuente