Plugin: ort_article_psort

Idea

La idea es realizar un plugin para que se pueda obtener el listado de articulos publicados por orden de prioridad previamnte estableciendo un custom_field como campo de prioridad

Seguimiento

Lo que surgio a partir del mismo es asi:

En fin las cosas son asi; y de hecho el plugin que te describi anteriormente es el que esta en curso ya que nos parecio que limitar la prioridad de 0 a 9 no esta copado; de esta manera con otra sentencia a la base el ordenamiento por ese campo esta asegurado y MySQL sabrá que hacer con el contenido. La corrección fue realizar el select con un cast y un alias, y luego realizar el order by con el alias (o sea con el cast ya hecho sobre los datos del campo)

Bueno nada mas; si te parece mejor lo charlamos la semana que viene, de todas maneras nosotros seguiremos adelante con el plugin propuesto, si te parece bien. saludos -- lguegnolle

Me parece piola la idea del punto 2... no modificar el doArticles() si no, más bien, crear un ort_priDoArticles() con la funcionalidad que queremos e invocar a esta desde ort_priority_sort. Por otra parte, más que tomar el "custom_1" por default, yo tomaría el que haya sido renombrado como "priority" por default. No miré el fuente, pero el plugin bas_emff hace exactamente eso... usa por default un custom_field que se llame "mp3", pero vos le podés pasar un parámetro para que use el que a vos se te ocurra. -- MarianoAbsatz

Aca tampoco me queda muy claro a que te referis; en el punto 2 aclaro que a pesar de estar por default el custom_1 se le puede pasar por parametro cualquier custom_n o sea podes usar el que a vos se te ocurra; simplemente si no se le pasa ningun parametro al respecto ahi si el default es custom_1. Decime si te parece que esto esté mal y como propones que lo corrigamos?? Te agradezco la atención --lguegnolle

if ($sortby == "") 
   $sortby = {"Buscarlo en la BD...";}

-- lguegnolle

if ($sortby == "") 
   $sortby = "priority";

-- MarianoAbsatz

Aunque me surge una duda ... Si el plugin tiene la capacidad de encontrar cual es el campo custom_n que se definio como Priority; para que lo va a recibir por parametro? O vos te referis a que pueda ordenar por otro campo que no sea el priority? Por lo cual el objetivo del plugin de ordenar por prioridad donde queda entonces? Si el objetivo es justamente ordenar por prioridad... Por otro lado ordenaria por prioridad y por fecha en realidad; a misma prioridad el mas reciente; lo que interpreto de lo que decis es que por defecto ordene por prioridad y que se pueda customizar la columna de ordenamiento? De ser asi ya dejaria de ser un priority sort para convertirse en un custom sort, en el que se puda ordenar por lo que se te antoje ...... y por default que ordene por prioridad; es asi lo que queres? Se puede hacer tambien.... -- lguegnolle

Definiendo...

Finalizado?

# Numeric Custom Sort v1.0
# Sorts Articles By Numeric Field
# ORT Institute (Lucas y Maria)
# http://www.ort.edu.ar

# ......................................................................
# This is a plugin for Textpattern - http://textpattern.com/
# To install: textpattern > admin > plugins
# Paste the following text into the 'Install plugin' box:
# ......................................................................

YTo5OntzOjQ6Im5hbWUiO3M6MTk6Ik51bWVyaWMgQ3VzdG9tIFNvcnQiO3M6NzoidmVyc2lv
biI7czozOiIxLjAiO3M6NjoiYXV0aG9yIjtzOjI5OiJPUlQgSW5zdGl0dXRlIChMdWNhcyB5
IE1hcmlhKSI7czoxMDoiYXV0aG9yX3VyaSI7czoyMToiaHR0cDovL3d3dy5vcnQuZWR1LmFy
IjtzOjExOiJkZXNjcmlwdGlvbiI7czozMDoiU29ydCBBcnRpY2xlcyBCeSBOdW1lcmljIEZp
ZWxkIjtzOjQ6InR5cGUiO2k6MDtzOjQ6ImhlbHAiO3M6MTU4NjoiCTxwPjxjZW50ZXI+PGJy
IC8+CjxoMj5Vc2FnZSBvZiBUaGlzIFBsdWdpbjwvaDI+PGJyIC8+Cjx1PjxiPlRoaXMgaXMg
YSBQbHVnaW4gZm9yIFRleHRQYXR0ZXJuIHRoYXQgc29ydHMgdGhlIGFydGljbGVzIGJ5IGEg
bnVtZXJpYyBmaWVsZCBpbiB0aHJlZSBkaWZlcmVudCB3YXlzOjwvYj48L3U+PGJyIC8+Cjxi
ciAvPgoKPHRhYmxlIGJvcmRlcj0iMCI+PHRyPjx0ZD48cD48YnIgLz4KMS4gWW91IGNhbiBk
ZWZpbmUgYSBjdXN0b21fbiBGaWVsZCBhcyBQcmlvcml0eSwgYXNzaWduIHZhbHVlcyB0byB0
aGUgYXJ0aWNsZXMgYW5kIHBhc3Mgbm8gcGFyYW1zIHRvIHRoZSB0YWc8YnIgLz4KCjIuIElm
IHlvdSBhbHJlYWR5IGhhdmUgYSBjdXN0b21fbiBGaWVsZCB3aWNoIHN0b3JlcyBudW1lcmlj
IHZhbHVlczsganVzdCBwYXNzIHNvcnRieT0mcXVvdDt5b3VyX2ZpZWxkJnF1b3Q7IGFzIHBh
cmFtIHRvIHRoZSB0YWc8YnIgLz4KCjMuIFlvdSBjYW4gZGVmaW5lIGEgY3VzdG9tX24gRmll
bGQgYXMgeW91IHdhbnQsIGFzc2lnbiB2YWx1ZXMgdG8gdGhlIGFydGljbGVzIGFuZCBwYXNz
IHNvcnRieT0mcXVvdDt5b3VyX2ZpZWxkJnF1b3Q7IHBhcmFtIHRvIHRoZSB0YWc8YnIgLz4K
CkJ5IGRlZmF1bHQgc29ydHMgbm9uIHN0aWNreSBhcnRpY2xlczsgYnV0IHRvIGRvIHNvIGp1
c3QgcGFzcyB0aGUgcGFyYW0gc3RhdHVzPSZxdW90OzUmcXVvdDsgOy0pPGJyIC8+CjwvcD48
YnIgLz4KPHA+PHU+PGI+T3RoZXIgRmVhdHVyZXRlczo8L2I+PC91PjxiciAvPgoKICBzZWN0
aW9uPSZxdW90O3NvbWUmcXVvdDsgcGFyYW0gPiBnZXQgdGhhdCBzZWN0aW9uIG9yZGVyZWQg
YnkgcHJpb3JpdHkgb3IgYnkgeW91ciBDdXN0b20gRmllbGQ8YnIgLz4KCiAgYXV0aG9yPSZx
dW90O2F1dGhvciZxdW90OyBwYXJhbSA+IGdldCB0aGF0IGF1dGhvciBvcmRlcmVkIGJ5IHBy
aW9yaXR5IG9yIGJ5IHlvdXIgQ3VzdG9tIEZpZWxkPGJyIC8+CgogIGNhdGVnb3JpZT0mcXVv
dDthbnkmcXVvdDsgcGFyYW0gPiBnZXQgdGhhdCBjYXRlZ29yaWUgb3JkZXJlZCBieSBwcmlv
cml0eSBvciBieSB0b3VyIEN1c3RvbSBGaWVsZDxiciAvPgoKICBsaW1pdD0mcXVvdDtudW1i
ZXImcXVvdDsgcGFyYW0gPiBsaW1pdCB0aGUgYW1vdW50IG9mIGFydGljbGVzIHRvIGJlIGxp
c3RlZDsgZGVmYXVsdCBpcyAxMDxiciAvPgoKICBmb3JtPSZxdW90O2Zvcm0mcXVvdDsgcGFy
YW0gPiBjaGFuZ2VzIGRlIGRlZmF1bHQgZm9ybSB0byBsaXN0IHRoZSBhcnRpY2xlczxiciAv
PgoKICBzb3J0ZGlyPSZxdW90O2RpciZxdW90OyBwYXJhbSA+IGNoYW5nZXMgdGhlIGRpcmVj
dGlvbiBvZiB0aGUgb3JkZXJpbmc7IGRlZmF1bHQgaXMgREVTQyBmcm9tIGhpZ2hlciB0byBs
b3dlcjxiciAvPgoKICBUaGF0JmFjdXRlO3MgYWxsIGZvciBub3c7IGFueSBidWcgb3IgcXVl
c3Rpb24sIGZpcnN0IHNtaWxlLCBhbmQgZG9uJmFjdXRlO3QgZG91YnQgb24gY29udGFjdCB1
cyBhdDo8YnIgLz4KCiAgbHVrYXozbm9sZUB5YWhvby5jb20uYXIgb3IgbW1waWFjZW50aW5p
QHlhaG9vLmNvbS5hciA8L3A+PC90ZD48L3RyPjwvdGFibGU+PGJyIC8+CjwvY2VudGVyPjwv
cD4KCiAiO3M6NDoiY29kZSI7czozMDQxOiIKCi8vIFRoaXMgaXMgYSBQbHVnaW4gZm9yIFRl
eHRQYXR0ZXJuIHRoYXQgc29ydHMgdGhlIGFydGljbGVzIGJ5IGEgbnVtZXJpYyBmaWVsZCBp
biB0aHJlZSBkaWZlcmVudCB3YXlzOgovLyAxLiBZb3UgY2FuIGRlZmluZSBhIGN1c3RvbV9u
IEZpZWxkIGFzIFByaW9yaXR5LCBhc3NpZ24gdmFsdWVzIHRvIHRoZSBhcnRpY2xlcyBhbmQg
cGFzcyBubyBwYXJhbXMgdG8gdGhlIHRhZwovLyAyLiBJZiB5b3UgYWxyZWFkeSBoYXZlIGEg
Y3VzdG9tX24gRmllbGQgd2ljaCBzdG9yZXMgbnVtZXJpYyB2YWx1ZXM7IGp1c3QgcGFzcyBz
b3J0Ynk9InlvdXJfZmllbGQiIGFzIHBhcmFtIHRvIHRoZSB0YWcKLy8gMy4gWW91IGNhbiBk
ZWZpbmUgYSBjdXN0b21fbiBGaWVsZCBhcyB5b3Ugd2FudCwgYXNzaWduIHZhbHVlcyB0byB0
aGUgYXJ0aWNsZXMgYW5kIHBhc3Mgc29ydGJ5PSJ5b3VyX2ZpZWxkIiBwYXJhbSB0byB0aGUg
dGFnCi8vIEJ5IGRlZmF1bHQgc29ydHMgbm9uIHN0aWNreSBhcnRpY2xlczsgYnV0IHRvIGRv
IHNvIGp1c3QgcGFzcyB0aGUgcGFyYW0gc3RhdHVzPSI1IiA7LSkKLy8gQWxzbyB5b3UgY2Fu
IHNvcnQgYSBzZWN0aW9uOyBhbiBhdXRob3I7IGEgY2F0ZWdvcmllCi8vIFlvdSBjYW4gY2hh
bmdlIHRoZSBmb3JtIHRvIHNob3cgd2l0aCB0aGUgYXJ0aWNsZXMgYW5kIGxpbWl0IHRoZSBh
bW91bnQgb2YgYXJ0aWNsZXMgdG8gYmUgc2hvd24gd2l0aCBsaW1pdD0iWCIKLy8gWW91IGNh
biBsYXRlciBzZWUgbW9yZSBkZXRhaWxzIGluIGhlbHAgYXQgcGx1Z2lucyBsaXN0CgovLyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKZnVu
Y3Rpb24gb3J0X2FydGljbGVfcHNvcnQoJGF0dHMpIHsKCWdsb2JhbCAkcHJldGV4dDsKCWV4
dHJhY3QoJHByZXRleHQpOwoKCWV4dHJhY3QobEF0dHMoYXJyYXkoJ2Zvcm0nPT4nZGVmYXVs
dCcsICdsaW1pdCc9PjEwLAkncGFnZWJ5Jz0+JycsICdjYXRlZ29yeSc9PicnLCAnc2VjdGlv
bic9PicnLCAnYXV0aG9yJz0+JycsCgkJICAgICAgICAgICAgICAgICdzb3J0YnknPT4nUHJp
b3JpdHknLCAnc29ydGRpcic9PidkZXNjJywgJ3N0YXR1cyc9Pic0JywgJ29mZnNldCc9PjAp
LCRhdHRzKSk7CgoJJHBhZ2VieSA9IChlbXB0eSgkcGFnZWJ5KSA/ICRsaW1pdCA6ICRwYWdl
YnkpOwoKCSRjYXRlZ29yeSAgPSAoISRjYXRlZ29yeSkgID8gJycgOiAiIGFuZCAoKENhdGVn
b3J5MT0nIi5kb3NsYXNoKCRjYXRlZ29yeSkuIicpIG9yIChDYXRlZ29yeTI9JyIuZG9TbGFz
aCgkY2F0ZWdvcnkpLiInKSkgIjsKCSRzZWN0aW9uICAgPSAoISRzZWN0aW9uKSAgID8gJycg
OiAiIGFuZCBTZWN0aW9uID0gJyIuZG9zbGFzaCgkc2VjdGlvbikuIiciOwoJJGF1dGhvciAg
ICA9ICghJGF1dGhvcikgICAgPyAnJyA6ICIgYW5kIEF1dGhvcklEID0gJyIuZG9zbGFzaCgk
YXV0aG9yKS4iJyI7CgoJaWYgKCFpc19udW1lcmljKCRzdGF0dXMpKQoJCSRzdGF0dXMgPSBn
ZXRTdGF0dXNOdW0oJHN0YXR1cyk7CgoJJHN0YXR1c3EgPSAiIGFuZCBTdGF0dXMgPSAnIi5k
b1NsYXNoKCRzdGF0dXMpLiInIjsKCgkkd2hlcmUgPSAiMSIgLiAkc3RhdHVzcSAuICRjYXRl
Z29yeSAuICRzZWN0aW9uIC4gJGF1dGhvcjsKCgkkdG90YWwgPSBzYWZlX2NvdW50KCd0ZXh0
cGF0dGVybicsJHdoZXJlKSAtICRvZmZzZXQ7CgkkbnVtUGFnZXMgPSBjZWlsKCR0b3RhbC8k
cGFnZWJ5KTsKCSRwZyA9ICghJHBnKSA/IDEgOiAkcGc7CgkkcGdvZmZzZXQgPSAkb2Zmc2V0
ICsgKCgkcGcgLSAxKSAqICRwYWdlYnkpLicsICc7CgoJLy8gc2VuZCBwYWdpbmcgaW5mbyB0
byB0eHA6bmV3ZXIgYW5kIHR4cDpvbGRlcgoJJHBhZ2VvdXRbJ3BnJ10gICAgICAgPSAkcGc7
CgkkcGFnZW91dFsnbnVtUGFnZXMnXSA9ICRudW1QYWdlczsKCSRwYWdlb3V0Wyd0b3RhbCdd
ICAgID0gJHRvdGFsOwoJZ2xvYmFsICR0aGlzcGFnZTsKCSR0aGlzcGFnZSA9ICRwYWdlb3V0
OwoJLy8gZW5kIHNlbmRpbmcgcGFnaW5nIGluZm8gdG8gdHhwOm5ld2VyIGFuZCB0eHA6b2xk
ZXIKCgkkcmVzID0gcHNvcnRfZmluZFByaW9yaXR5RmllbGQoICRzb3J0YnkgKTsKCWlmICgk
cmVzKSB7CgkJZXh0cmFjdCgkcmVzKTsKCQkkc29ydGJ5ID0gJGZpZWxkLiJfIi4kbjsKCX0K
CWVsc2UKCQlyZXR1cm47CgoJJHJzID0gc2FmZV9yb3dzX3N0YXJ0KCIqICxDQVNUKCIuZG9z
bGFzaCgkc29ydGJ5KS4iIEFTIFVOU0lHTkVEKSBhcyBOaWVqYSwgdW5peF90aW1lc3RhbXAo
UG9zdGVkKSBhcyB1UG9zdGVkIiwgJ3RleHRwYXR0ZXJuJywKCSR3aGVyZS4gJyBvcmRlciBi
eSBOaWVqYSAnIC4gZG9TbGFzaCgkc29ydGRpcikgLiAnLCB1UG9zdGVkIERFU0MgbGltaXQg
JyAuIGRvU2xhc2goJHBnb2Zmc2V0LiRsaW1pdCkpOwoKCSRmb3JtID0gKGlzc2V0KCRfUE9T
VFsnRm9ybSddKSkgPyBncHMoJ0Zvcm0nKSA6IGZldGNoX2Zvcm0oJGZvcm0pOwoKCWlmICgk
cnMpIHsKCQkkYXJ0aWNsZXMgPSBhcnJheSgpOwoJCXdoaWxlKCRhID0gbmV4dFJvdygkcnMp
KSB7CgkJCXBvcHVsYXRlQXJ0aWNsZURhdGEoJGEpOwoJCQkkYXJ0aWNsZSA9ICgkYVsnb3Zl
cnJpZGVfZm9ybSddKSA/IGZldGNoX2Zvcm0oJGFbJ292ZXJyaWRlX2Zvcm0nXSkgOiAkZm9y
bTsKCQkJJGFydGljbGVzW10gPSBwYXJzZSgkYXJ0aWNsZSk7CgkJfQoKCQlyZXR1cm4gaW1w
bG9kZSgnJywkYXJ0aWNsZXMpOwoJfQp9CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KCmZ1bmN0aW9uIHBzb3J0X2ZpbmRQcmlvcml0eUZpZWxkKCAk
Y2ZpZWxkICkgewoJJHJzID0gc2FmZV9yb3coImV2ZW50IGFzIGZpZWxkLCBwb3NpdGlvbiBh
cyBuIiwgInR4cF9wcmVmcyIsICJ2YWwgPSAnIi4kY2ZpZWxkLiInIiApOwoJaWYgKCFlbXB0
eSgkcnMpKQoJCXJldHVybiAkcnM7CgllbHNlCgkJcmV0dXJuIDA7Cn0KCiI7czozOiJtZDUi
O3M6MzI6Ijc0YzhkMjNhY2ZlYWQ2ZDQyM2Y4MTlhMTgxMTg5MTJjIjt9

Muchas gracias y hasta luego.... --lguegnolle

Actualicé mínimamente el plugin y está en ort_article_psort-v1.01.txt. Si nos ponemos de acuerdo, dejamos http://txp.semap.baby.com.ar como el sitio oficial de descarga. -- MarianoAbsatz

  1. Seguimos juntando ideas para el próximo cuatrimestre :-) (1)

SeminarioDeAplicaciones: PrioritySort (última edición 2008-01-29 14:15:36 efectuada por localhost)