Grazie delle risposte.
Mi sono spiegato male, quello che mi serve è come dice Santino83.
Il problema deriva dalla struttura del database
http://i.imgur.com/H0UPN.png
La tabella category è gestita da una classe che tramite la colonna "position" può creare categorie a livelli di profondità infiniti, il nome e la descrizione di ogni categoria sono inseriti invece nella tabella "category_x" dove x è il tag della lingua correntemente selezionata dal navigatore.
Ora dovete immaginare che nella tabella products oltre alle colonne che ci sono adesso, ci saranno le caratteristiche per ogni prodotto di ogni categoria. Quindi ad un certo punto avrò per esempio il prodotto "modellino carro armato" con una colonna caratteristica del tipo "taglia" , che sarà vuota, ma in ogni caso al momento della stampa a video non dovrei farla vedere.
Una cosa che mi viene in mente è di fare un file con una query diversa per ogni categoria e poi stampare quella che serve, è meno lungo e più pratico che creare un layout per ogni categoria, ma è lo stesso un gran lavoro..