Drupal 5.x + pathauto + scheduler (és még sok egyéb dolog) http://www.termuves.hu
A beküldött tartalom, elérési útját a pathauto-val állítom elő (eléteszem a kiválasztott kifejezés nevét), a scheduler-rel időzítem, hogy egy-két nap múlva jelenjen meg.
Az első beküldés után, a "Közzétételi beállítások"-nál nem közzétett a node, az "útvonal beállításai"-nál az általam kívánt path szerepel.
A gond ott jön, hogy amikor a megadott időpontban a scheduler közzéteszi a node-ot, valahogy a path elejéről eltűnik a kiválasztott kifejezés. A korábban a url_alias táblába bekerült "jó" path a megjelenéskor törlődik, és bekerül a "rossz" path (a pid értéke egyel nagyobb mint a "jó" path-é).
Kapok egy sor figyelmeztetést:
# warning: Illegal offset type in /var/www/virtual/termuves.hu/htdocs/modules/taxonomy/taxonomy.module on line 1172.
# warning: Illegal offset type in /var/www/virtual/termuves.hu/htdocs/modules/taxonomy/taxonomy.module on line 1173.
# warning: Illegal offset type in /var/www/virtual/termuves.hu/htdocs/modules/taxonomy/taxonomy.module on line 1176.
A hiba a pathauto_node.inc node_get_placeholders() 217-es sorában bukik ki ( $term = taxonomy_get_term($first_term_id); ) ahol a $first_term_id értéke
- ha egy node első beküldése van nincs érték
- ha ugyanezt a node-ot szerkesztés után beküldjünk akkor nincs értéke
- ha a scheduler a cron-on keresztül közzéteszi a node-ot, akkor egy tömbb kerül a $first_term_id-be, ami ugye aztér nem jó, mert egy számnak kellene bekerülnie
A két esetben a $node->taxonomy értéke:
(A) node beküld
3 --- Array
------75 --- 75
4 --- Array
------30 --- 30
(B) a scheduler közzétesz
75 --- Object
------tid --- 75
------vid --- 3
------name --- valami
------description ---
------weight --- 0
30 --- Object
------tid --- 30
------vid --- 4
------name --- ez másik
------description ---
------weight --- 0
A node_get_placeholders($node) ba a $node a pathauto_nodeapi() adja át. De itt már elvesztetem a fonalat...
Azt nem látom át, hogy melyik modul rakja helytelenül az adatokat a $node->taxonomy-ba ?