vahid abdi Posted June 2, 2019 Share Posted June 2, 2019 (edited) Hi How can i display something in the Admin Orders page list before the list? i already tried displayAdminAfterHeader hook but this hooks shows the content in all pages to show in only Orders List page i could do if condition to check the $class_name of the controller calling, but still it shows my custom content in Order view page too and all Order Controller related pages any suggestions? Thanks. Edited June 2, 2019 by vahid abdi (see edit history) Link to comment Share on other sites More sharing options...
Janett Posted June 2, 2019 Share Posted June 2, 2019 Use same code with more restrictions Copy paste your code here, we can help you to improve it 1 Link to comment Share on other sites More sharing options...
vahid abdi Posted June 2, 2019 Author Share Posted June 2, 2019 32 minutes ago, Janett said: Use same code with more restrictions Copy paste your code here, we can help you to improve it So basically i want something like this: this is last lines of code form file /{admin}/themes/default/template/header.tpl <div id="main"> {include file='nav.tpl'} <div id="content" class="{if !$bootstrap}nobootstrap{else}bootstrap{/if}"> {if isset($page_header_toolbar)}{$page_header_toolbar}{/if} {if isset($modal_module_list)}{$modal_module_list}{/if} {if $install_dir_exists} <div class="alert alert-warning"> {l s='For security reasons, you must also delete the /install folder.'} </div> {/if} {hook h='displayAdminAfterHeader'} {hook h='dashboardZoneTwo' mod="MyModuleName"} {* end display_header*} {else} <body{if isset($lite_display) && $lite_display} class="ps_back-office display-modal"{/if}> <div id="main"> <div id="content" class="{if !$bootstrap}nobootstrap{else}bootstrap{/if}"> {/if} I added this line of code : {hook h='dashboardZoneTwo' mod="MyModuleName"} which calls a module i have created and returns html this works fine but the only problem as i have mentioned is that i don't know how to specify this to work ONLY in AdminOrders Controller page which lists all the orders! Link to comment Share on other sites More sharing options...
Janett Posted June 2, 2019 Share Posted June 2, 2019 (edited) Share PHP code about this hook in your module. Solution is not in template And no need to add a hook, you can do it with existing hook in Prestashop without modifications in template Edited June 2, 2019 by Janett (see edit history) 1 Link to comment Share on other sites More sharing options...
vahid abdi Posted June 2, 2019 Author Share Posted June 2, 2019 8 minutes ago, Janett said: Share PHP code about this hook in your module. Solution is not in template And no need to add a hook, you can do it with existing hook in Prestashop without modifications in template yes i know it's possible to register hook in my module without altering the template the module hook is like this now. i've removed the part in which $user_orders array is created public function hookDashboardZoneTwo() { // Code to create user_orders array goes here // $this->context->smarty->assign(array( 'user_orders' => $user_orders )); return $this->display(__FILE__, 'dashboard_zone_two.tpl'); } please note that this module and code works fine and as expected, and display desired html in DashboardZoneTwo Link to comment Share on other sites More sharing options...
Janett Posted June 2, 2019 Share Posted June 2, 2019 You want to display that on Order listing or on dashboard ? 1 Link to comment Share on other sites More sharing options...
vahid abdi Posted June 2, 2019 Author Share Posted June 2, 2019 Just now, Janett said: You want to display that on Order listing or on dashboard ? i would do this public function displayAdminAfterHeader() { // Code to create user_orders array goes here // $this->context->smarty->assign(array( 'user_orders' => $user_orders )); return $this->display(__FILE__, 'dashboard_zone_two.tpl'); } this would display the template after header in all pages in back office(also above Orders listing) how can i make this header hook to only work on Orders listing page 1 Link to comment Share on other sites More sharing options...
Janett Posted June 2, 2019 Share Posted June 2, 2019 if ('AdminOrders' === Tools::getValue('controller') && false === Tools::getIsset('addorder') && false === Tools::getIsset('vieworder') ) { // your code here } sorry I’m on my phone and I cannot use code display option 🤬 1 Link to comment Share on other sites More sharing options...
vahid abdi Posted June 2, 2019 Author Share Posted June 2, 2019 (edited) 18 minutes ago, Janett said: if ('AdminOrders' === Tools::getValue('controller') && false === Tools::getIsset('addorder') && false === Tools::getIsset('vieworder') ) { // your code here } sorry I’m on my phone and I cannot use code display option 🤬 thanks for the effort. this is basically what I needed. i had the following concern also in my original question: are addorder and vieworder all the extra values that could be there besides order listing page? for example if there is deleteorder page (which might not even exist) this condition would fail! Edited June 2, 2019 by vahid abdi (see edit history) Link to comment Share on other sites More sharing options...
Janett Posted June 2, 2019 Share Posted June 2, 2019 (edited) Addorder and vieworder are params used for display concerned pages. deleteorder has no display view so this hook will never be called with this param, same for export option etc... so with this code, you should see your extra content only on order listing page Edited June 2, 2019 by Janett (see edit history) 1 Link to comment Share on other sites More sharing options...
vahid abdi Posted June 2, 2019 Author Share Posted June 2, 2019 (edited) 13 minutes ago, Janett said: Addorder and vieworder are params used for display concerned pages. deleteorder has no display view so this hook will never be called with this param, same for export option etc... so with this code, you should see your extra content only on order listing page Thank you so much Edited June 2, 2019 by vahid abdi (see edit history) Link to comment Share on other sites More sharing options...
num47 Posted April 19, 2021 Share Posted April 19, 2021 On 6/2/2019 at 6:51 PM, Janett said: Addorder and vieworder are params used for display concerned pages. deleteorder has no display view so this hook will never be called with this param, same for export option etc... so with this code, you should see your extra content only on order listing page Hello Janett, How is it going? Getting any new episode of "The Good Place"? on a serious note: I am trying to edit the universalpay module. There is a function where you can collect some user input data. I am getting those data in the mysql but those are not being shown in the designated place on the order page. I guess it's not calling those fields rightly. The Data shown in the database is like - a:2:{s:4:"name";s:16:"ASDAASDAASDAASDA";s:7:"country";s:6:"France";} Can you kindly help me to edit the module file/s so that i get the values there in the order page? Thank you 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