Aqui de nuevo con mas preguntitas . Alguié sabe como se genera el valor de sortorder en las tablas course y course_categories?? y el valor de parent en la tabla course_categories? ...please help, realmente necesito saber como se les asignas sus respectivos valores.
De antemano muchas gracias.
sortorder es un valor numerico que se usa para decidir en que orden se muestran los cursos o categorias. En teoría, si no quieres nada especial, deberías usar un número superior al más alto existente en la tabla.
El valor de parent en la tabla course_categories es el valor del campo 'id' de la categoría 'padre' de una dada. Es decir, de la categoria de la cual cuelga. Si no quieres que cuelge de ninguna (es decir, que sea una categoría 'raíz'), debes dejar ese valor a 0.
Saludos. Iñaki.
El valor de parent en la tabla course_categories es el valor del campo 'id' de la categoría 'padre' de una dada. Es decir, de la categoria de la cual cuelga. Si no quieres que cuelge de ninguna (es decir, que sea una categoría 'raíz'), debes dejar ese valor a 0.
Saludos. Iñaki.
Muchas gracias por responder
y que valor toma parent si quiero que cuelgue de alguna categoría? otra preguntita. Cuando tengo un curso dentro de una categoría, y esa categoría la pongo dentro de otra categoría, el sortorder del curso cambia. ¿ por qué sucede eso?
Muchas gracias!!
y que valor toma parent si quiero que cuelgue de alguna categoría? otra preguntita. Cuando tengo un curso dentro de una categoría, y esa categoría la pongo dentro de otra categoría, el sortorder del curso cambia. ¿ por qué sucede eso?
Muchas gracias!!
Si quieres que cuelgue de la categoria cuyo id es 123, en el campo parent pones el 123.
En cuanto a la segunda pregunta, no tengo ni idea
En cuanto a la segunda pregunta, no tengo ni idea
Cuando tengo un curso dentro de una categoría, y esa categoría la pongo dentro de otra categoría, el sortorder del curso cambia. ¿ por qué sucede eso?
Qué buena pregunta! Porque luego, cuando hacemos el SELECT
para el My Courses block y cualquier otro SELECT
que lista cursos de varias categorías todos juntos, los queremos listar en el orden que heredan de las categorias.
Como las categorías son anidadas, no podemos simplemente hacer un JOIN
y usar in ORDER BY cc.sortorder, c.sortorder
. El sort es muy costoso de hacer al vuelo, entonces lo que hacemos es que los sortorders de los cursos reflejen en sus rangos los sortorders de las categorías.
En ese sentido, Moodle tiene una buena cura para el insomnio: léete fix_course_sortorder()