1. На данный момент (0.9) порядок выполнения хуков такой:
- input, global
- module.first (для модулей), module.main (для модулей), standalone (для плагинов)
- header.first, header.main, header.tags
- module.tags (для модулей)
- footer.first, footer.main, footer.last
2. В Сиене этот вопрос решён, правда способом далеко не самым простым и без документации разобраться будет непросто. Но если кратко, есть 2 способа вывода JS и CSS кода:
- Непосредственный. Почти как раньше, только вместо переменной $out['compopup'] используются функции cot_rc_link_file() и cot_rc_embed().
- В область кеша. Такие ресурсы добавляются в кеш с помощью специальных функций cot_rc_add_file() и cot_rc_add_embed() в специальном хуке rc. Это позволяет движку разделять их на несколько областей видимости, а также группировать их и выводить в сжатом виде, не перегружая при этом сервер слишком частой ресурсоёмкой минификацией скриптов и стилей.
3. Чтобы было ясно, что без этого тега работать не будет, хоть и используют они его только косвенно.