1) Ik doe kritiek niet af als zeiken. Ik zeg alleen dat er zeikerds zijn.
2) Ik zeg nergens dat
jij zeikt.
3) Zelfs al zou ik dat wel zeggen of impliceren, laat jij je daardoor kennen? (Gezien de rest van je reactie gelukkig niet)
Het probleem van drupal zit hem erin dat content vanaf het kleinste element naar het grootste element opgebouwd wordt. En dat is opzich prima als je idd niet anders gewent bent, of prima kan leven met de overdaad een html containers in je output. Echter ik vind, dat in controller (node/block/page/view whatever element) niet voor mij hoeft te bepalen dat ik perse een bepaalde DIV om mijn data moet hebben, En ja dat kun je regelen in een <theme_name>_theme() hook. Maar ik zou dat liever doen op de plek waar het hoort, en dat is een tpl.php zelf. Immers daar wordt bepaald hoe iets eruit moet zien, daar weet ik 100% in welke context ik die data moet/wil gebruiken.
Het enige wat hook_theme() doet is tpl files of theme functions definiëren, zodat Drupal weet dat het daar rekening mee moet houden. Dit heeft verder niets te maken met hoe het themingproces in elkaar zit.
Het grote 'probleem' van drupal, is dat er imho met een paar flinke oogkleppen op, teveel gekeken wordt naar de eindgebruiker. Die moet alles met sleur en pleur in elkaar kunnen klikken, en dat er dan wat extra dingen met css op display:none, of met een preg_replace in een theme functie uitgehaalt moet worden, dat wordt dan maar voor lief genomen.
1 woord: doelgroep. Jouw problemen met de overdaad aan markup hebben verder niets met sleur en pleur te maken, maar met eindgebruikers die slechts met CSS zoveel mogelijk kunnen aanpassen. Of dit een goede ontwikkeling is, daar durf ik niets over te zeggen. Ik snap echter wel de redenatie erachter.
Views zou een stuk minder complex zijn, als het gewoon een deed wat het redelijk goed kan, queries opbouwen en uitvoeren en dan ipv per element een tpl.php of theme functie aan te roepen, gewoon een ouderwetse array met data naar één tpl.php zou sturen zodat je met wat foreach'es die data prima kunt kleien zoals het nodig is.Dat zou elke fatsoenlijke theme builder een hoop gedoe schelen.
Wederom 1 woord: performance. Ik heb zelf ook al met anderen gebrainstormd hierover, want idealiter wil je inderdaad één grote array met content en metadata, maar dat wordt simpelweg te traag.
Gelukkig lijken er meer mensen in drupalland wakker te zijn geworden, en zijn er in D7 al redelijk wat verbetering doorgevoerd, en gelukkig biedt Drupal, hetzij wat krom, de mogelijkheid voor puristen en andere mensen die gewoon weten wat ze aan doen zijn, om data alsnog 'raw' op te halen en te gebruiken, en nog steeds alle voordelen van systeem te gebruiken.
"Weten wat ze aan het doen zijn" is in mijn ogen net zo denigrerend als andere mensen zeikerds noemen. De wereld bestaat niet alleen uit professionals en zelfs de professionals zijn soms (vaak?) slechter dan de amateurs/hobbyisten. Daarnaast is het allemaal een kwestie van de doelgroep op welke je je richt. Wordt Drupal gemikt op hardcore ontwikkelaars die niets liever doen dan abstract en clean programmeren? Of op mensen die met point & click complexe sites in elkaar steken? Of juist op beginners, die een eenvoudige eigen blog willen opzetten voor hun reis naar het buitenland?
Het hele verhaal is wat ingewikkelder dan dat het in eerste instantie lijkt. Daarom is ook niet 1, 2, 3 een beste oplossing te geven.