Take an example of a page that currently works ...
Contact Us has its own
/includes/languages/english/html_lincludes/define_contact_us.php
that you copy to your templates and overrides directory ...
This is then called by the template file:
/includes/templates/template_default/templates/tpl_contact_us_default.php
by the code:
Code:
<?php if (DEFINE_CONTACT_US_STATUS >= '1' and DEFINE_CONTACT_US_STATUS <= '2') { ?>
<div id="contactUsNoticeContent" class="content">
<?php
/**
* require html_define for the contact_us page
*/
require($define_page);
?>
</div>
<?php } ?>
The line:
require($define_page);
has the $define_page set in the:
/includes/modules/pages/contact_us/header_php.php
in the code:
Code:
// include template specific file name defines
$define_page = zen_get_file_directory(DIR_WS_LANGUAGES . $_SESSION['language'] . '/html_includes/', FILENAME_DEFINE_CONTACT_US, 'false');
To do the same on the Specials page, you can define that piece of code in your templates and overrides for the:
/includes/templates/template_default/templates/tpl_specials_default.php
so that you do not need to change more files than your templates and overrides for this ... and change the constants using contact_us to specials as needed ...
You would also need to define somewhere the values of the constants:
DEFINE_SPECIALS_STATUS
FILENAME_DEFINE_SPECIALS
That could be done in a file such as:
/includes/extra_datafiles/extra_define_pages.php
You can call that what ever you want, but that spells out what the file is for and can be used to add other new defines ...
Now putting all of this together would let you have a way to change the:
/includes/languages/english/html_lincludes/define_specials.php