Implementing every custom modification as a module allows you to separate mods from the core and from each other.
If something goes wrong, you know what modules what change.
This is much easier to debug than multiple hacks mixed in core XC4 files, when you don't know why this code is there and what will happen if you remove it.
As for adding an image at the top of Sales page - you are to add the following template:
Code:
{*
* @ListChild (list="center", weight="0")
*}
{if:getTarget()=#sale_products#}
<p class="sale-page-custom-head">
<img src="URL_TO_YOUR_IMAGE_HERE" />
</p>
{end:}
You can either create a new module, or do it from the CustomSkin module.
For a new module: follow the
instructions and place the template to the skins/default/en/modules/YOUR_DEV_ID/YOUR_MODULE_ID/sale/ directory. Then enable the module.
For CustomSkin module: place the template to the skins/default/en/modules/XC/CustomSkin/sale/ directory and enable "Custom Skin" module in the backend.