What if we start post all the hooks you need in this thread. I understand how important hooks are for add-on development.
The format of request should be.
file, function, which hook do you need.
Several words about how we add PHP hooks, it's important please read.
There are 4 possible type of hooks each hook name should have name same as function name and can have on of the suffixes:
“_pre” hook - located at function beginning and should pass all the parameters function accepts. e.g.:
fn_set_hook('add_feature_variant_pre', $feature_id, $variant);
2. “_post” hook - located at the end of function and should pass all the parameters function accepts plus important paramters that were defined in function body. e.g.:
fn_set_hook('delete_product_option_post', $option_id, $pid, $option_deleted);
3. “_sql” hook or no-prefix hook - hook that used to execute SQL query, or exist in the function body. We do not add hooks to cycles.
fn_set_hook('get_pages', $params, $join, $condition, $fields, $group_by, $sortings, $lang_code);
4. other suffixes like “_before”, “_after” e.g.:
fn_set_hook('update_page_before', $page_data, $page_id, $lang_code);
I recommend to provide request for the hook in the following format.
I need a hook in fn.catalog.php in fn_delete_product_files
function fn_delete_product_files($file_id, $product_id = 0)
fn_set_hook('delete_product_files_pre', $file_id, $product_id);
No strict rules for templates, so please provide some explanation what exactly are you going to do with template hook.