it works GREAT!
Thanks.
Ohhh, not great yet. There's this problem: When the category list is queried from the database, we have this result, for the default language:
array(13) {
[0]=>
object(stdClass)#4784 (8) {
["id"]=>
string(1) "1"
["parent_id"]=>
string(1) "0"
["title"]=>
string(6) "IO.GSM"
["alias"]=>
string(6) "io-gsm"
["access"]=>
string(1) "1"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "0"
}
[1]=>
object(stdClass)#4842 (8) {
["id"]=>
string(1) "6"
["parent_id"]=>
string(1) "5"
["title"]=>
string(10) "Documentos"
["alias"]=>
string(10) "documentos"
["access"]=>
string(1) "1"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "5"
}
[2]=>
object(stdClass)#4786 (8) {
["id"]=>
string(2) "10"
["parent_id"]=>
string(1) "9"
["title"]=>
string(10) "Documentos"
["alias"]=>
string(10) "documentos"
["access"]=>
string(1) "1"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "2"
}
[3]=>
object(stdClass)#4858 (8) {
["id"]=>
string(1) "2"
["parent_id"]=>
string(1) "1"
["title"]=>
string(8) "Firmware"
["alias"]=>
string(8) "firmware"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "6"
}
[4]=>
object(stdClass)#4917 (8) {
["id"]=>
string(1) "5"
["parent_id"]=>
string(1) "0"
["title"]=>
string(6) "IO.XEC"
["alias"]=>
string(6) "io-xec"
["access"]=>
string(1) "1"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "0"
}
[5]=>
object(stdClass)#4856 (8) {
["id"]=>
string(1) "7"
["parent_id"]=>
string(1) "5"
["title"]=>
string(8) "Firmware"
["alias"]=>
string(8) "firmware"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "9"
}
[6]=>
object(stdClass)#4915 (8) {
["id"]=>
string(2) "11"
["parent_id"]=>
string(1) "9"
["title"]=>
string(8) "Firmware"
["alias"]=>
string(8) "firmware"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "2"
}
[7]=>
object(stdClass)#4854 (8) {
["id"]=>
string(1) "3"
["parent_id"]=>
string(1) "1"
["title"]=>
string(8) "Software"
["alias"]=>
string(8) "software"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "8"
}
[8]=>
object(stdClass)#4913 (8) {
["id"]=>
string(2) "12"
["parent_id"]=>
string(1) "9"
["title"]=>
string(8) "Software"
["alias"]=>
string(8) "software"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(2) "11"
}
[9]=>
object(stdClass)#4852 (8) {
["id"]=>
string(1) "4"
["parent_id"]=>
string(1) "1"
["title"]=>
string(10) "Documentos"
["alias"]=>
string(10) "documentos"
["access"]=>
string(1) "1"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "5"
}
[10]=>
object(stdClass)#4911 (8) {
["id"]=>
string(2) "13"
["parent_id"]=>
string(1) "9"
["title"]=>
string(13) "Controladores"
["alias"]=>
string(13) "controladores"
["access"]=>
string(1) "1"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[11]=>
object(stdClass)#4853 (8) {
["id"]=>
string(1) "9"
["parent_id"]=>
string(1) "0"
["title"]=>
string(11) "IO.Control2"
["alias"]=>
string(11) "io-control2"
["access"]=>
string(1) "1"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "0"
}
[12]=>
object(stdClass)#5019 (8) {
["id"]=>
string(2) "14"
["parent_id"]=>
string(1) "0"
["title"]=>
string(14) "inforSolutions"
["alias"]=>
string(14) "inforsolutions"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(3) "841"
["numdoc"]=>
string(2) "10"
}
}
but for the translated language, I have this result:
array(62) {
[0]=>
object(stdClass)#5553 (8) {
["id"]=>
string(1) "1"
["parent_id"]=>
string(1) "0"
["title"]=>
string(6) "IO.GSM"
["alias"]=>
string(6) "io-gsm"
["access"]=>
string(1) "1"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "0"
}
[1]=>
object(stdClass)#5583 (8) {
["id"]=>
string(1) "6"
["parent_id"]=>
string(1) "5"
["title"]=>
string(10) "Documentos"
["alias"]=>
string(10) "documentos"
["access"]=>
string(1) "1"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[2]=>
object(stdClass)#5548 (8) {
["id"]=>
string(1) "6"
["parent_id"]=>
string(1) "5"
["title"]=>
string(10) "Documentos"
["alias"]=>
string(10) "documentos"
["access"]=>
string(1) "1"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[3]=>
object(stdClass)#5442 (8) {
["id"]=>
string(1) "6"
["parent_id"]=>
string(1) "5"
["title"]=>
string(10) "Documentos"
["alias"]=>
string(10) "documentos"
["access"]=>
string(1) "1"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[4]=>
object(stdClass)#5550 (8) {
["id"]=>
string(1) "6"
["parent_id"]=>
string(1) "5"
["title"]=>
string(10) "Documentos"
["alias"]=>
string(10) "documentos"
["access"]=>
string(1) "1"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[5]=>
object(stdClass)#5443 (8) {
["id"]=>
string(1) "6"
["parent_id"]=>
string(1) "5"
["title"]=>
string(10) "Documentos"
["alias"]=>
string(10) "documentos"
["access"]=>
string(1) "1"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[6]=>
object(stdClass)#5552 (8) {
["id"]=>
string(2) "10"
["parent_id"]=>
string(1) "9"
["title"]=>
string(10) "Documentos"
["alias"]=>
string(10) "documentos"
["access"]=>
string(1) "1"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[7]=>
object(stdClass)#5444 (8) {
["id"]=>
string(2) "10"
["parent_id"]=>
string(1) "9"
["title"]=>
string(10) "Documentos"
["alias"]=>
string(10) "documentos"
["access"]=>
string(1) "1"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[8]=>
object(stdClass)#5554 (8) {
["id"]=>
string(1) "2"
["parent_id"]=>
string(1) "1"
["title"]=>
string(8) "Firmware"
["alias"]=>
string(8) "firmware"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[9]=>
object(stdClass)#5445 (8) {
["id"]=>
string(1) "2"
["parent_id"]=>
string(1) "1"
["title"]=>
string(8) "Firmware"
["alias"]=>
string(8) "firmware"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[10]=>
object(stdClass)#5556 (8) {
["id"]=>
string(1) "2"
["parent_id"]=>
string(1) "1"
["title"]=>
string(8) "Firmware"
["alias"]=>
string(8) "firmware"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[11]=>
object(stdClass)#5558 (8) {
["id"]=>
string(1) "2"
["parent_id"]=>
string(1) "1"
["title"]=>
string(8) "Firmware"
["alias"]=>
string(8) "firmware"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[12]=>
object(stdClass)#5447 (8) {
["id"]=>
string(1) "2"
["parent_id"]=>
string(1) "1"
["title"]=>
string(8) "Firmware"
["alias"]=>
string(8) "firmware"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[13]=>
object(stdClass)#5560 (8) {
["id"]=>
string(1) "2"
["parent_id"]=>
string(1) "1"
["title"]=>
string(8) "Firmware"
["alias"]=>
string(8) "firmware"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[14]=>
object(stdClass)#5448 (8) {
["id"]=>
string(1) "5"
["parent_id"]=>
string(1) "0"
["title"]=>
string(6) "IO.XEC"
["alias"]=>
string(6) "io-xec"
["access"]=>
string(1) "1"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "0"
}
[15]=>
object(stdClass)#5562 (8) {
["id"]=>
string(1) "7"
["parent_id"]=>
string(1) "5"
["title"]=>
string(8) "Firmware"
["alias"]=>
string(8) "firmware"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[16]=>
object(stdClass)#5449 (8) {
["id"]=>
string(1) "7"
["parent_id"]=>
string(1) "5"
["title"]=>
string(8) "Firmware"
["alias"]=>
string(8) "firmware"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[17]=>
object(stdClass)#5564 (8) {
["id"]=>
string(1) "7"
["parent_id"]=>
string(1) "5"
["title"]=>
string(8) "Firmware"
["alias"]=>
string(8) "firmware"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[18]=>
object(stdClass)#5450 (8) {
["id"]=>
string(1) "7"
["parent_id"]=>
string(1) "5"
["title"]=>
string(8) "Firmware"
["alias"]=>
string(8) "firmware"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[19]=>
object(stdClass)#5566 (8) {
["id"]=>
string(1) "7"
["parent_id"]=>
string(1) "5"
["title"]=>
string(8) "Firmware"
["alias"]=>
string(8) "firmware"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[20]=>
object(stdClass)#5451 (8) {
["id"]=>
string(1) "7"
["parent_id"]=>
string(1) "5"
["title"]=>
string(8) "Firmware"
["alias"]=>
string(8) "firmware"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[21]=>
object(stdClass)#5568 (8) {
["id"]=>
string(1) "7"
["parent_id"]=>
string(1) "5"
["title"]=>
string(8) "Firmware"
["alias"]=>
string(8) "firmware"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[22]=>
object(stdClass)#5452 (8) {
["id"]=>
string(1) "7"
["parent_id"]=>
string(1) "5"
["title"]=>
string(8) "Firmware"
["alias"]=>
string(8) "firmware"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[23]=>
object(stdClass)#5570 (8) {
["id"]=>
string(1) "7"
["parent_id"]=>
string(1) "5"
["title"]=>
string(8) "Firmware"
["alias"]=>
string(8) "firmware"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[24]=>
object(stdClass)#5589 (8) {
["id"]=>
string(2) "11"
["parent_id"]=>
string(1) "9"
["title"]=>
string(8) "Firmware"
["alias"]=>
string(8) "firmware"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[25]=>
object(stdClass)#5572 (8) {
["id"]=>
string(2) "11"
["parent_id"]=>
string(1) "9"
["title"]=>
string(8) "Firmware"
["alias"]=>
string(8) "firmware"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[26]=>
object(stdClass)#5591 (8) {
["id"]=>
string(1) "3"
["parent_id"]=>
string(1) "1"
["title"]=>
string(8) "Software"
["alias"]=>
string(8) "software"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[27]=>
object(stdClass)#5574 (8) {
["id"]=>
string(1) "3"
["parent_id"]=>
string(1) "1"
["title"]=>
string(8) "Software"
["alias"]=>
string(8) "software"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[28]=>
object(stdClass)#5593 (8) {
["id"]=>
string(1) "3"
["parent_id"]=>
string(1) "1"
["title"]=>
string(8) "Software"
["alias"]=>
string(8) "software"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[29]=>
object(stdClass)#5576 (8) {
["id"]=>
string(1) "3"
["parent_id"]=>
string(1) "1"
["title"]=>
string(8) "Software"
["alias"]=>
string(8) "software"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[30]=>
object(stdClass)#5595 (8) {
["id"]=>
string(1) "3"
["parent_id"]=>
string(1) "1"
["title"]=>
string(8) "Software"
["alias"]=>
string(8) "software"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[31]=>
object(stdClass)#5578 (8) {
["id"]=>
string(1) "3"
["parent_id"]=>
string(1) "1"
["title"]=>
string(8) "Software"
["alias"]=>
string(8) "software"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[32]=>
object(stdClass)#5597 (8) {
["id"]=>
string(1) "3"
["parent_id"]=>
string(1) "1"
["title"]=>
string(8) "Software"
["alias"]=>
string(8) "software"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[33]=>
object(stdClass)#5580 (8) {
["id"]=>
string(1) "3"
["parent_id"]=>
string(1) "1"
["title"]=>
string(8) "Software"
["alias"]=>
string(8) "software"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[34]=>
object(stdClass)#5599 (8) {
["id"]=>
string(2) "12"
["parent_id"]=>
string(1) "9"
["title"]=>
string(8) "Software"
["alias"]=>
string(8) "software"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[35]=>
object(stdClass)#5582 (8) {
["id"]=>
string(2) "12"
["parent_id"]=>
string(1) "9"
["title"]=>
string(8) "Software"
["alias"]=>
string(8) "software"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
[36]=>
object(stdClass)#5601 (8) {
["id"]=>
string(2) "12"
["parent_id"]=>
string(1) "9"
["title"]=>
string(8) "Software"
["alias"]=>
string(8) "software"
["access"]=>
string(1) "2"
["description"]=>
string(0) ""
["accessuserid"]=>
string(1) "0"
["numdoc"]=>
string(1) "1"
}
}
>:(this code was truncated!!!
The categories, subcategories and files work this way: Categories and subcategories are stored in the same table and each has it's own id. The files have also an id, and a category id (straight forward)
The query that retrieves this data is:
a) for the default language:
SELECT cc.id, cc.parent_id, cc.title, cc.alias, cc.access, cc.description, cc.accessuserid, COUNT(c.id) AS numdoc FROM #__phocadownload_categories AS cc LEFT JOIN #__phocadownload AS c ON c.catid = cc.id AND c.published = 1 AND c.textonly = 0 WHERE cc.published = 1 AND cc.access IN (1,1,2,3,6) AND cc.language IN ('pt-PT','*') GROUP BY cc.id ORDER BY cc.ordering ASC
b)and for the translated:
SELECT cc.id, cc.parent_id, cc.title, cc.alias, cc.access, cc.description, cc.accessuserid, COUNT(c.id) AS numdoc FROM #__phocadownload_categories AS cc LEFT JOIN #__phocadownload AS c ON c.catid = cc.id AND c.published = 1 AND c.textonly = 0 WHERE cc.published = 1 AND cc.access IN (1,1,2,3,6) AND cc.language IN ('en-GB','*') GROUP BY cc.id ORDER BY cc.ordering ASC
The column numdoc (COUNT) in the translated is always equal to 1!
The bottom line is: when the xml file is present (jdiction.xml), the category list for the default language displays correctly; for the translated language, the category list has 62 items(which is the sum of all the files included in all the categories).
There must be a group or join problem in jdiction plugin.
Please help me out.
Thanks