jemmeli Posted August 7, 2013 Share Posted August 7, 2013 (edited) hello everybody is it possible to create a new hook trou a module , the new hook will affected automatically to a file tpl i choose for example the file shopping-cart-product-line.tpl without interaction from the user i mean the user dont need to enter the tpl file and whrite the folowing code: {hook h='myNewCoolHook'} instead this code will be added automatically in a Dom element of the shopping-cart-product-line.tpl this is a challenge for me i did some research I found that I must add a function to the module for the new hook like this: Public function hookmyNewCoolHook($params){ return somthing; } and also add the hook in the install function to the module in order to install it but when it comes to the tpl file i found that this can not be automatically it need some interaction by the user to whrite as mentioned above : {hook h='myNewCoolHook'} i want to do it all automatically by the module and thank you for the help in advance Edited August 12, 2013 by jemmeli (see edit history) 1 Link to comment Share on other sites More sharing options...
jemmeli Posted August 12, 2013 Author Share Posted August 12, 2013 no reply !!! Link to comment Share on other sites More sharing options...
bellini13 Posted August 12, 2013 Share Posted August 12, 2013 You can't add a hook and just expect the output of the hook to magically appear in output of shopping-cart-product-line.tpl. Since shopping-cart-product-line.tpl does not have any existing hooks, then there is really nothing you can do with this theme file unless you override or alter the file itself, which you say you want to avoid. The next thing I would look to do is use shopping-cart.tpl. This has 2 existing hooks (HOOK_SHOPPING_CART and HOOK_SHOPPING_CART_EXTRA). What you could do is have your module register one of these hooks, and dump your output into a hidden div element. Then using javascript/jquery, you can then move the content of this div wherever you want it to appear. 1 Link to comment Share on other sites More sharing options...
jemmeli Posted August 12, 2013 Author Share Posted August 12, 2013 thank you a lot "bellini13" for you answer . i understand most of your ansewer , but the part related to the dumping an output into a hidden element i did not understood well please if you can give me a go with a sipme code , or if there is a reference on the web talking about this methode and thank you in advance Link to comment Share on other sites More sharing options...
jemmeli Posted August 12, 2013 Author Share Posted August 12, 2013 it is solved "bellini13": I used the hook hookdisplayShoopingCart like this: public function hookdisplayShoppingCartFooter($params) { global $smarty; } //(this is the inforrmaion that I want dump it to hidden div)-------------------------------------------------------------------------------- $sql = 'SELECT * FROM '._DB_PREFIX_.'cus ORDER BY id_cus DESC LIMIT 1'; if ($results = Db::getInstance()->ExecuteS($sql)) foreach ($results as $row){ $info_cus = 'ID du produit =>'.$row['id_product'].' :<br> TEXT =>'.$row['value_text'].' :<br> position TEXT =>'.$row['position_text']. ' :<br> FOTO =>'.$row['value_foto'].' :<br> Position du FOTO =>'.$row['position_foto'].' :<br> Le prix =>'.$row['new_price']; } //--------------------------------------------------------------------------------------------------------------------------------------------------- $this->context->smarty->assign(array( 'total_price' => $new_price, 'cus' => $info_cus//the duping variable-------------------------------------------------------------------------------------------------------- )); return $this->display(__FILE__, 'xxx.tpl'); } and then in my tpl file called xxx.tpl i put this code and a little jquery to hide the div <div id="hidden_div">{$cus}</div> <script type="text/javascript"> alert("hhhhh"); //$("#hidden_div").hide(); </script> and it WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOORKS fine Link to comment Share on other sites More sharing options...
evolution.x Posted September 5, 2013 Share Posted September 5, 2013 Hi Bellini13, I have a similar problem, i am trying to add a new hook to category.tpl wihout the need for editing. I am trying to create a breadcrumb module with BO configuration, this would need to add it's own hook in to all the relevant TPL files which currently display the breadcrumb by an include. {include file="$tpl_dir./breadcrumb.tpl"} Is this possible?? Regards You can't add a hook and just expect the output of the hook to magically appear in output of shopping-cart-product-line.tpl.Since shopping-cart-product-line.tpl does not have any existing hooks, then there is really nothing you can do with this theme file unless you override or alter the file itself, which you say you want to avoid.The next thing I would look to do is use shopping-cart.tpl. This has 2 existing hooks (HOOK_SHOPPING_CART and HOOK_SHOPPING_CART_EXTRA). What you could do is have your module register one of these hooks, and dump your output into a hidden div element. Then using javascript/jquery, you can then move the content of this div wherever you want it to appear. Link to comment Share on other sites More sharing options...
bellini13 Posted September 5, 2013 Share Posted September 5, 2013 There are no existing hooks for the breadcrumb.tpl file. So you would have to create your own hook, and then alter the theme file and the frontcontroller if you expect your output to be included Now you might be able to use the "top of pages" hook to add your custom breadcrumb, but you still would have to edit the existing breadcrumb file if you do not want that to appear Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now