====== Changes to Note ====== **Starting with 7.0.0**, all template changes are documented in the [[http://home.jonathanfoote.com/geo/upgrade/versions/changelogs.php|changelogs]]. See the changelogs for template changes on versions newer than 7.0.0. This page documents every system or module template change (and rarely main_page templates), made in versions from **4.0.4 to 7.0.0**. For tips on updating the software when you have customized System or Module templates, see [[tutorials:design_adv:replace_system_templates]]. ===== To 4.0.4 ===== There are a few slight changes to how some of the existing "core events" work. ==== system/browsing/listing_results.tpl 4.0.4 ==== You will need to make the following changes to bring your template to be compatible with 4.0.4. **Find**:{$show_classifieds.addonTDs} **Replace with**: {if $show_classifieds.addonData} {foreach from=$show_classifieds.addonData item=addonRows} {foreach from=$addonRows item=addonText} {$addonText} {/foreach} {/foreach} {/if} Then in the same file: **Find**:{if $addons_header} {$addons_header} {/if} **Replace with**: {if $addonHeadings} {foreach from=$addonHeadings item=aHeadings} {foreach from=$aHeadings item=addonHeading} {$addonHeading.text} {/foreach} {/foreach} {/if} ==== system/search_class/search_results.tpl 4.0.4 ==== You will need to make the following changes to bring your template to be compatible with 4.0.4. **Find**:{$tpl_vars.addon_headers} **Replace with**: {if $tpl_vars.addonHeaders} {foreach from=$tpl_vars.addonHeaders item=header} {foreach from=$aHeaders item=header} {$header.text} {/foreach} {/foreach} {/if} Further down in that same file: **Find**:{$listing.addon_columns} **Replace with**: {foreach from=$listing.addonColumns item=aCols} {foreach from=$aCols item=addonColumn} {$addonColumn} {/foreach} {/foreach} ==== system/user_management/information/user_data.tpl 4.0.4 ==== You will need to make the following changes to bring your template to be compatible with 4.0.4. **Find**:{if $addonPlanInfo}{$addonPlanInfo}{/if} **Replace with**: {if $addonPlanInfo} {* Exit out of the table, so each addon can do things it's own way, and not worry about changes to the addons if this template ever gets converted to use no tables *} {$addonPlanInfo} {/if} ===== To 4.1.0 ===== Note the following changes in 4.1.0. ==== Category Browsing Templates 4.1.0 ==== All templates relating to category browsing have changed, as below. Note the inclusion of two, new, "common" files, both shared by all of the other files used in category browsing. **These files:** *system/browsing/browse_ads.tpl *system/browsing/listings_results.tpl **Have been replaced by:** *system/browsing/main.tpl *system/browsing/common/listing_set.tpl **And newly joining the party are:** *system/browsing/common/category_block.tpl *system/browsing/featured_pic_ads.tpl *system/browsing/featured_text_ads.tpl *system/browsing/newest_ads.tpl *system/browsing/sellers_other_ads.tpl ==== Image Upload Templates 4.1.0 ==== The image upload page during listing details has been re-written, as we have re-done the image upload page in 4.1. **Modified/New Files** * **system/order_items/images/** (all files in directory are either new, or have significant changes) * **external/css/order_items/images/upload_images.css** -- new CSS file for styling of new image uploader * **external/js/order_items/images/handlers.js** -- new JS file used for fancy image uploading. Works directly with SWF Uploader library for image uploading parts of it. ==== system/user_management/information/edit_user_form.tpl 4.1.0 ==== Added ability for order items to specify error message. Make the following changes: **Find**: {foreach from=$orderItemFields item=f} {if $f.type == 'single_checkbox'} {*blank left column*} {else} {/if} {/foreach} **Replace with**: {foreach from=$orderItemFields item=f} {if $f.type == 'single_checkbox'} {*blank left column*} {else} {/if} {/foreach} ==== system/order_items/shared/listing_collect_details.tpl 4.1.0 ==== Changes to allow things to be added to listing details easier. In the file, **Find**: {if $moreDetails} {* Allow addons to insert stuff right below the description field. *} {foreach from=$moreDetails item='details'} {if $details.full} {$details.full} {else} {/if} {/foreach} {/if} **Replace with**: {if $moreDetails} {* Allow addons to insert stuff right below the description field. *} {foreach from=$moreDetails item='details'} {if $details.section_head} {* Allow adding a section head above the next contents *} {/if} {if $details.full} {$details.full} {elseif $details.pre || $details.label || $details.value || $details.error} {/if} {/foreach} {/if} In the same file, there is also new code to allow things to be added at the bottom of the page. For this, **Find**: {if $display_description_last_in_form && ($editCheck || $field_config.editable_description_field)} {include file="shared/details_description_box.tpl"} {/if} And **Replace with**: {if $display_description_last_in_form && ($editCheck || $field_config.editable_description_field)} {include file="shared/details_description_box.tpl"} {/if} {if $moreDetailsEnd} {* Allow addons to insert stuff at the very end. *} {foreach from=$moreDetailsEnd item='details'} {if $details.section_head} {* Allow adding a section head above the next contents *} {/if} {if $details.full} {$details.full} {elseif $details.pre || $details.label || $details.value || $details.error} {/if} {/foreach} {/if} ==== system/user_management/current_ads/list.tpl 4.1.0 ==== Added new "quick search" box. In that file, **Find:** **Replace with:** Then later in the same file, **Find:** {foreachelse} {/foreach} **Replace with:** {foreachelse} {/foreach} ==== system/cart/payment_choices/gateway_box.tpl 4.1.0 ==== Typo in variable name used fixed, **find:** {if $payment_choice.radio_box} {$payment_choice.help_box} {else} **Replace with:** {if $payment_choice.radio_box} {$payment_choice.radio_box} {else} Then, near bottom of the same template file, before the end tag a new section was added for recurring billing user agreement: **Find:** {/if} **Replace with:** {/if} {if $payment_choice.user_agreement.box} {$payment_choice.user_agreement.box} {elseif $payment_choice.user_agreement} {include file="payment_choices/gateway_agreement.tpl"} {/if} ===== To 4.1.1 ===== Template changes found in version 4.1.1. **Note:** In some of the template files, at the top, the //{* $Rev: ###$ *}// changed when there was not actually any changes in that particular template file((In SVN talk: We did a SVN copy of the main trunk to make a releases branch for 4.1 maintenance releases, and that ended up bumping the REV number on a lot of the files. Oops!)). We've double triple verified the changes in 4.1.1, and **only the templates noted below actually have changes**, any files not mentioned below do not have any changes going from 4.1.0 to 4.1.1 even if they received a Rev number bump. ==== geo_templates/default/external/css/order_items/images/upload_images.css 4.1.1 ==== This is technically not a template file, but a CSS file for upload images page. Note the changes below made to make the image description "wrap" inside the image box. At the end of the file, **add**: .fileTitleBox { /* The box the title label and value are in */ white-space: normal; } ==== geo_templates/default/system/browsing/common/listing_set.tpl 4.1.1 ==== There are a few changes to fix issues relating to the column sorting, see below for changes needed. **Find**: {if $cfg.sort_links}{/if} {$headers.num_bids.text} {if $cfg.sort_links}{/if} **Replace with**: {* num_bids is not a sortable option -- there are never sort links *} {$headers.num_bids.text} That's not the only change in this file: In that same file, **find**: {if $cfg.cols.image} {/if} **Replace with**: {if $cfg.cols.image} {/if} ==== geo_templates/default/system/order_items/images/image_box.tpl 4.1.1 ==== Changes needed in order to make the image "description" text wrap instead of being one long line that goes past the edge of the box. Note that the changes in this file go along with the changes in //upload_images.css// file (first changed file noted in [[#To 4.1.1]]). **Find**: {$messages.500700} {if !$slotData.image.image_text}{$messages.500701}{else}{$slotData.image.image_text}{/if} **Replace with**:
{$messages.500700} {if !$slotData.image.image_text}{$messages.500701}{else}{$slotData.image.image_text}{/if}
===== To 4.1.2 ===== Note the following changes made in 4.1.2 ==== addons/storefront/templates/client/display_subscription_info.tpl 4.1.2 ==== This file changed drastically to add ability for user to cancel recurring billing payments for storefront subscriptions. ==== system/browsing/contact_forms/friend_form.tpl 4.1.2 ==== Corrected a misspelled variable name. The textarea of this form must send its data as c[senders_comment**s**], or else resulting emails will not include the personal note added by the sender. Line 38 changes from: to: ==== system/order_items/shared/listing_collect_details.tpl 4.1.2 ==== 2 changes made in this file to allow order items to add "section description" to the listing details collection page. **Find:** {if $details.section_head} {* Allow adding a section head above the next contents *} {/if} {if $details.full} **Replace with:** {if $details.section_head} {* Allow adding a section head above the next contents *} {/if} {if $details.section_desc} {* Allow adding a section description as well *} {/if} {if $details.full} There are 2 places in the file that the above modification is made. Be sure to apply the changes to both locations. ==== module/my_account_links.tpl 4.1.2 ==== We made two new variables available to this template. They are not used by default, but are available for use if desired: {$num_unread_messages} and {$num_open_feedbacks} //(auctions only) As the names suggest, these are integers that hold the number of unread messages and open feedbacks the current user has. ==== system/other/lightbox_slideshow.tpl 4.1.2 ==== Added //{strip}// around the play and pause links to remove extra white-space from the output, in order to fix a problem in IE that made the buttons not spaced properly. **Find:** *} {$messages.500760} **Replace with:** *}{strip} {$messages.500760}{/strip} ===== To 4.1.3 ===== Changes made in version 4.1.3. ==== system/cart/payment_choices/radio_box.tpl 4.1.3 ==== Change made to get rid of possible javascript error. In this file, **Find:** **Replace with:** ===== To 5.0 ===== Take note of the following changes to template files made in 5.0.0. Note that the software has gone through a re-design, so every single template will have "design changes", below we will list only the changes that might affect a custom design, such as a variable name change or the like. ==== system/browsing/rss_listings.tpl 5.0 ==== File changed location, it is now located in the directory **system/ListingFeed/** with the same file name. Also, changed 2 of the template variable names: * **$titleLimit** changed to **$titleCharLimit** * **$descLimit** changed to **$descriptionCharLimit** ==== system/browsing/common/listing_set.tpl 5.0 ==== To fix the links when browsing affiliate pages, the following changes were needed: **Find:** (this will be in 2 locations within the template) {$classifieds_url}?a=2&b={$id} **Replace** both occurrences with: {$cfg.listing_url}{$id} ==== system/browsing/affiliate.tpl 5.0 ==== Change to how listing results are called. **Find:** {$browse_result} **Replace With:** {include file="common/listing_set.tpl"} ==== system/order_items/images/legacy_form.tpl 5.0 ==== Make some changes to improve usability when the user has to use the legacy uploader because of missing Flash player: **Find:**
**Replace with:** ==== system/order_items/images/upload_images.tpl 5.0.0 ==== Made changes so that if the max allowed chars for the description is 0, it does not display the description input field on the standard uploader. **Find:**

**Replace with:**
{if $imgMaxTitleLength}
{else}

{/if}
==== system/order_items/images/legacy_form.tpl 5.0.0 ==== Made changes so that if the max allowed chars for the description is 0, it does not display the description input field on the legacy uploader. **Find:**
**Replace with:** {if $imgMaxTitleLength} {/if} Then later in the file: **Find:** **Replace with:** {if $imgMaxTitleLength} {/if} And finally, last change for this file: **Find:** **Replace with:** {if $imgMaxTitleLength} {/if} ==== system/order_items/shared/listing_collect_details.tpl 5.0 ==== The changes are too many to give exact "find/replace" examples, but we will still explain the changes made below. Changed up how the optional fields are displayed, for the new feature to display the optional site-wide fields that "add cost" right below the other cost fields on the listing detail collection page. Also made changes so that any optional site-wide fields that add cost have the "precurrency" before the field, like the rest of the cost fields such as price or minimum bid. The currency type drop-down has changed: First make sure to replace any **{$postcurrency_dropdown}** and replace with **{include file="shared/postcurrency_dropdown.tpl"}**. We have also changed how the pre & post currency javascript works: You will need to add the CSS class "precurrency" to any span tag that holds the pre-currency symbol. The javascript function **check_buy_now_only()** has changed, need to make all references to it use **geoListing.check_buy_now_only()**. The fields to use variable names have all changed, to use syntax similar to **$fields->title->is_enabled** and **$fields->title->can_edit**, see the //new// listing_collect_details.tpl file to reference all the changes. Literally every part of the file is changed now, with the re-design on top of the variable name changes. ==== system/payment_gateways/seller_buyer/paypal/user_details.tpl 5.0 ==== Changes to this file to stop using the so-called CJAX library, instead using Scriptaculous to allow editing the paypal e-mail. ==== external file locations changed 5.0 ==== In order to make template sets a little more organized, the following file locations have changed: ^ Old Location ^ Moved To ^ | external/css/other/ ((The entire directory and contents moved)) | external/css/**system**/other/ | | external/css/order_items/ ((The entire directory and contents moved)) | external/css/**system**/order_items/ | | external/css/user_management/ ((The entire directory and contents moved)) | external/css/**system**/user_management/ | | external/js/order_items/ ((The entire directory and contents moved)) | external/js/**system**/order_items/ | ===== To 5.0.1 ===== Note the following changes to template files in 5.0.1. ==== module/shared/category_navigation.tpl 5.0.1 ==== Added column width on category modules to make it work better when there are multiple columns. **Find:** {foreach from=$categories item=c name=catloop}
  • **Replace with:** {foreach from=$categories item=c name=catloop}
  • ==== system/browsing/common/listing_set.tpl 5.0.1 ==== Made the admin edit/delete buttons use {external} so they reference images in the template set. **Find:** **Replace With:** Also a little further down, **Find:** **Replace With:** Also changed references to full classifieds URL to use the relative file name instead. **Find:** {$classifieds_url} **replace with:** {$classifieds_file_name} ==== system/order_items/shared/duration_choices_charged.tpl 5.0.1 ==== Added a couple of spaces in the options, to make them more readable: **Find:** {$d.display_length}-{$d.display_amount} **replace with:** {$d.display_length} - {$d.display_amount} ==== system/order_items/shared/listing_collect_details.tpl 5.0.1 ==== Changed parts that collect listing details that are added by addons such as Pedigree Tree addon, so they display even when there are no mapping fields to display. **Find:** {if $moreDetailsEnd} {* Allow addons to insert stuff at the very end. *} {foreach from=$moreDetailsEnd item='details'} {if $details.section_head} {* Allow adding a section head above the next contents *} {* Close the
    and re-open it *}

    {* TODO: Add way to add main title vs. sub-title! *}

    {$details.section_head}

    {*
    is at bottom of the section. *} {/if} {if $details.section_desc} {* Allow adding a section description as well *}

    {$details.section_desc}

    {/if} {if $details.full} {$details.full} {elseif $details.pre || $details.label || $details.value || $details.error}
    {$details.value} {if $details.error} {$details.error} {/if}
    {/if} {/foreach} {/if} {/if}
    **Replace With:**
    {/if} {if $moreDetailsEnd} {* Allow addons to insert stuff at the very end. *}
    {foreach from=$moreDetailsEnd item='details' name='moreDetailsEndLoop'} {if $details.section_head} {* Allow adding a section head above the next contents *} {if !$smarty.foreach.moreDetailsEndLoop.first}

    {/if}

    {$details.section_head}

    {/if} {if $details.section_desc} {* Allow adding a section description as well *}

    {$details.section_desc}

    {/if} {if $details.full} {$details.full} {elseif $details.pre || $details.label || $details.value || $details.error}
    {$details.value} {if $details.error} {$details.error} {/if}
    {/if} {/foreach}
    {/if}
    ===== To 5.0.2 ===== Note the following changes to template files in 5.0.2. ==== system/ListingFeed/rss_listings.tpl 5.0.2 ==== Fixed a couple of bugs involving conflicting or incorrect variable names: **Find:** {foreach from=$fields item='label' key='field'} **Replace with:** {foreach from=$fields key='field' item='fieldLabel'} **Find:** {if $label}{$label}{/if} **Replace with:** {if $fieldLabel}{$fieldLabel}{/if} ==== system/order_items/shared/listing_collect_details.tpl 5.0.2 ==== incorrect variable name used in multiple places. replace all occurrences of **$price_plan** with **$pricePlan** ==== system/tinymce.tpl 5.0.2 ==== Added line to make the WYSIWYG editor not automatically add

    ...

    tags around elements not already in a block level element. **Find:** content_css: '{external file="css/wysiwyg.css"}' **Replace With:** //make it NOT automatically add the

    around everything... Comment the line out if it is needed. forced_root_block : '', content_css: '{external file="css/wysiwyg.css"}' ==== system/browsing/common/listing_set.tpl 5.0.2 ==== Changes needed for W3C compliance (extra tag). **Find:**

  • **Replace With:** ==== module/module_title.tpl 5.0.2 ==== Made changes to add new Addon hook, which allows addons to add to the title displayed by the title module. **Find:** {/if} {if $page_number > 1} **Replace with:** {/if} {if $addonText} {$addonText} {/if} {if $page_number > 1} ===== To 5.0.3 ===== Changes below are made for 5.0.3. ==== external/css/theme_styles.css 5.0.3 ==== Minor change to fix over-lapping on payment page on smaller screen resolutions. **Find:** .payment_text { position:relative; top:-10px; margin-left:65px; font-weight:lighter; } **Replace with:** .payment_text { margin-left:65px; font-weight:lighter; } Change to make category lists go to the next line correctly on the less common CSS classes used for some of the category lists. **Find** #categories li.clr { clear: both; height: 0; font-size: 0; line-height: 0; display: none; } **Replace With:** #categories li.clr { clear: both; height: 0; font-size: 0; line-height: 0; } Then further down, **Find:** #listing_categories li.clr { clear: both; height: 0; font-size: 0; line-height: 0; display: none; } **Replace with:** #listing_categories li.clr { clear: both; height: 0; font-size: 0; line-height: 0; } ==== system/browsing/common/listing_set.tpl 5.0.3 ==== Fix broken "sort" links for three columns: **Find:** {$headers.num_bids.price}, {$headers.num_bids.entry_date}, and {$headers.num_bids.time_left} **Replace with:** {$headers.price.reorder}, {$headers.entry_date.reorder}, and {$headers.time_left.reorder} Re-apply changes to listing URL that were inadvertently un-done with new 5.0 design: **Find:** (will occur in 2 places in the file, need to find/replace both places) {$classifieds_file_name}?a=2&b={$id} **Replace:** {$cfg.listing_url}{$id} ==== system/payment_gateways/shared/transaction_approved.tpl 5.0.3 ==== On last step of cart checkout, where it shows success/failure of placing cart order, made it only display the "my account" link if the user is currently logged in. **Find:**
    **Replace With:**
    {if $logged_in} {/if}
    ==== addon/storefront/control_panel/*.tpl 5.0.3 ==== Replaced all text that was hardcoded into storefront "control panel" templates with references to database text ===== To 5.1 ===== ==== system/order_items/shared/listing_collect_details.tpl 5.1 ==== New field added for new feature, listing tags. To add new field, **find:** {if $moreDetails} **Replace With:** {if $fields->tags->is_enabled}
    {if !$editCheck && !$fields->tags->can_edit} {$session_variables.tags} {else}
    {/if} {$tags_help_link} {if $error_msgs.tags} {$messages.500865} {/if}
    {/if} {if $moreDetails}
    ==== system/browsing/common/listing_set.tpl 5.1 ==== Added new column for listing tags. **Find:** {/if} {if count($headers.optionals) > 0} **Replace with:** {/if} {if $cfg.cols.tags}
    {/if} {if count($headers.optionals) > 0} Then, further down the file, **find:** {section name=optionals start=1 loop=21} **Replace With:** {if $cfg.cols.tags} {/if} {section name=optionals start=1 loop=21} ==== system/other/image_block.tpl 5.1 ==== File has been split up into 3 different template files, each one is for a different style used for the image block. The new template files are at: * system/listing_details/image_block/classic.tpl - Classic image block * system/listing_details/image_block/gallery.tpl - Gallery view * system/listing_details/image_block/filmstrip.tpl - **new** Filmstrip view ==== external/css/theme_styles.css 5.1 ==== New CSS classes added for front page changes. **Find:** #content_column_wide { overflow: hidden; padding: 0 3px 0 10px; } **Replace With:** #content_column_wide { overflow: hidden; padding: 0 3px 0 10px; } #content_column_navigation { overflow: hidden; padding: 0 10px; } #content_column_navigation ul.sub_categories li.element { border-bottom: 1px solid #F3F3F3; } Then a little further down, new CSS class for left side added. **Find:** #user_column, #left_column { width: 200px; float: left; } **Replace with:** #user_column, #left_column { width: 200px; float: left; } #navigation_column_left { /* Used in alternate front page */ width: 350px; float: left; font-size: 10px; } Changes to how categories are displayed to improve the layout when using multiple columns. **Find:** /* ######### CATEGORIES STYLES ######### */ #categories { margin: 0; padding: 0; } #categories li.element { list-style: none; display: inline-block; float: left; font-weight: bold; padding: 5px 0; margin: 0; } #categories li.clr { clear: both; height: 0; font-size: 0; line-height: 0; } #main_categories { margin: 0; padding: 0; } #main_categories li { list-style: none; text-align: left; } #main_categories li.element { display: block; padding: 5px; font-size: 12px; font-weight: bold; background: #fefefe; border-top: 1px solid #ffffff; border-bottom: 1px solid #f3f3f3; text-decoration: none; float: left; margin-left: 0px; } #main_categories li.clr { clear: both; height: 0; font-size: 0; line-height: 0; } #main_categories li ul { margin: 0; padding: 0 0 0 10px; } #main_categories li ul li { list-style: none; text-align: left; padding: 1px 0; } **Replace With:** /* ######### CATEGORIES STYLES ######### */ div.category_column { float: left; } div.category_column ul { margin: 0; padding: 0; } div.category_column ul li.element { list-style: none; font-weight: bold; padding: 5px 0; margin: 0; } div.category_column ul li.element img { /* Make category image line up good */ vertical-align: middle; } div.category_column.main_classified_navigation ul li.element { /* specific to main classified navigation */ padding: 5px; background: #fefefe; border-top: 1px solid #ffffff; border-bottom: 1px solid #f3f3f3; } div#content_column_navigation div.category_column ul.categories li.element { /* add background image but only on alternate front page */ background: url('../images/backgrounds/category.gif') repeat-x right 20px; } div#content_column_navigation div.category_column ul.categories li.element ul.sub_categories li.element { background: transparent; } div.category_column ul.sub_categories li.element { /* specific to sub-categories */ font-weight: normal; padding: 3px; margin: 0px 0px 0px 20px; } Then further down in the file, **find:** #listing_categories span.category_title,#categories span.category_title { font-weight: bold; font-size: 14px; color: #4987c5; } **replace with:** #listing_categories span.category_title,div.category_column ul span.category_title { font-weight: bold; font-size: 16px; color: #4987c5; } div.category_column ul.sub_categories span.category_title { /* Sub-categories are not bolded */ font-weight: normal; font-size: 12px; } Changes for the new social network links on front page. **Find:** /* ######### LISTING RESULTS STYLES ######### */ **Replace with:** span.listing_counts { font-size: .8em; } /* Social network links */ ul.social_links { } ul.social_links li.element { list-style: none; color: #4987c5; font-size: 14px; font-weight: bold; border: none; margin: 0; padding: 0; float: left; clear: left; } ul.social_links li.element img { /* Make category image line up good */ vertical-align: middle; } /* ######### LISTING RESULTS STYLES ######### */ ==== system/browsing/common/category_block.tpl 5.1 ==== Changes to allow combining stuff into the category breadcrumb. **Find (2 locations in file):** {if $string_tree or $array_tree} {/if} **Replace both places with:** {if $string_tree or $array_tree or $category_tree_pre} {/if} Changes to improve category layout when using multiple category columns. **Find:** **Replace with:** {foreach from=$categories item=cats key=column}
      {foreach from=$cats item=cat}
    • {if $cat.category_image}{/if} {strip} {$cat.category_name} {/strip} {if $cat.category_count}{$cat.category_count}{/if} {if $cat.new_ad_icon}{$cat.new_ad_icon}{/if} {if $show_descriptions}

      {$cat.category_description}

      {/if} {if $cat.sub_categories} {/if}
    • {/foreach}
    {/foreach}
    ==== system/order_items/shared/category_choose.tpl 5.1 ==== Made change so that category image is referenced using external instead of directly. **Find:**   **Replace With:**   ==== system/order_items/shared/jit_login_form.tpl ==== Added code so that the username/password input fields respect the admin-selectable max length settings. **Find:** ... ... **Replace With:** ... ... ==== module/ - all category navigation modules 5.1 ==== Consolidated all category navigation modules to use the same shared template **modules/shared/category_navigation.tpl**. All category navigation modules now include that shared template file. In addition, the layout has been improved for category navigation modules so that it displays better when displaying sub-categories. Even the template variables have been changed, see the new shared template file **modules/shared/category_navigation.tpl** for an example of how to use the new template variable structure. ==== module/newest_ads_link.tpl and other new link modules 5.1 ==== Changes have been made to allow displaying newest ad links as buttons instead of links. Each of the templates will look similar to this((The **row_even** is changed to **row_odd** on some of the link modules, but the rest of the template is the same.)): {if $buttonStyle} {else} {else} {/if} ===== To 5.1.1 ===== ==== Use of @ucwords 5.1.1 ==== The goal in the built-in templates, is to use as little PHP inside templates as possible, including using PHP functions to filter text((Since the trial demos use security mode, such use of PHP would be blocked in trial demos.)). As such, all places that used to use **@ucwords** to capitalize the first letter in words, have been replaced by the Smarty built in filter **capitalize**. Find:|@ucwords Replace with: |capitalize The change will be made to all places it is found, in the files listed: * module/module_title.tpl * system/browsing/common/listing_tags.tpl * system/browsing/tag.tpl * system/listing_details/listing_tags_links.tpl * system/listing_details/listing_tags_list.tpl ==== system/browsing/full_images.tpl 5.1.1 ==== Change needed so that on the full images page, it does not show the link to "sellers other listings" when the listing was placed anonymously. In the file, **find:**
  • {$messages.1360}
  • {$messages.1361}
  • **Replace with:** {if not $anonymous}
  • {$messages.1360}
  • {$messages.1361}
  • {/if}
    ===== To 5.1.2 ===== ==== external/css/theme_styles.css 5.1.2 ==== Changes so that login box are slightly wider, to accommodate using new reCAPTCHA option for security image. **Find:** .login_shell { clear: both; width: 610px; margin: 20px auto; } **Replace with:** .login_shell { clear: both; width: 650px; margin: 20px auto; } Then later in the file, **Find:** #login_left { width: 300px; float: left; } **Replace With:** #login_left { width: 340px; float: left; } ==== external/voting/voting_form.tpl 5.1.2 ==== Added admin-editable text to the "reset form" button: **Find:** **Replace with:** ==== module/module_search_box_1.tpl 5.1.2 ==== Added new addon hook to let addons add to the search box. **Find:** {/if}
  • {if $hidden_fields} **Replace With:** {/if} {if $addonExtra} {foreach from=$addonExtra item=addonContents}
  • {$addonContents}
  • {/foreach} {/if}
  • {if $hidden_fields} ==== module/module_title.tpl 5.1.2 ==== Added new addon hook to let addons prepend text in title module. **Find:** {if $preview_text}{$preview_text} : {/if} **Replace with:** {if $preview_text}{$preview_text} : {/if} {$addonTextPre} ==== system/ListingFeed/rss_listings.tpl 5.1.2 ==== Changes to make feeds more optimized. **Find:** {foreach from=$listings item="listing" name="listingLoop"} **Replace With:** {foreach from=$listings item="listing" name="listingLoop"} {process_listing listing=$listing} ==== system/ListingFeed/oodle_feed.tpl 5.1.2 ==== Changes to make feeds more optimized. **Find:** {foreach from=$listings item="listing" name="listingLoop"} **Replace With:** {foreach from=$listings item="listing" name="listingLoop"} {process_listing listing=$listing} ==== system/order_items/shared/listing_collect_details.tpl 5.1.2 ==== Made a change to the listing details collection page so that the "Additional Info" box is not shown if none of its fields are in use: **Find:**

    {$messages.500805}

    {if $fields->url_link_1->is_enabled} {/if} {if $fields->url_link_2->is_enabled} {/if} {if $fields->url_link_3->is_enabled} {/if} {if $is_ent} {foreach from=$opt_field_info item=opt_info key=i} {if $opt_info.field->field_type=='cost'} {if !$add_cost_at_top} {* Adds cost, and does not have set to display cost optional fields at "top" of page (below normal price fields) *}
    {$precurrency} {if $editCheck || $opt_info.field->can_edit} {else} {$opt_info.value|displayPrice:'':''} {/if} {if $opt_info.error} {$opt_info.error} {/if}
    {/if} {elseif $opt_info.field->is_enabled}
    {if $field_config.use_filters && $opt_info.filter_assoc} {* Using filters for this field *} {$opt_info.value} {elseif !$editCheck && !$opt_info.field->can_edit} {* Editing, and can edit is off, so just display *} {$opt_info.value} {elseif $opt_info.field->field_type=='text'||$opt_info.field->field_type=='url'||$opt_info.field->field_type=='number'} {* Text input (text, number, or url) *} {elseif $opt_info.field->field_type=='textarea'} {* textarea type *} {elseif $opt_info.field->field_type=='dropdown'&&count($optional_types[$i])} {* dropdown *} {if $opt_info.other_box} {* other box for dropdown *}  {$opt_info.or}  {/if} {/if} {if $opt_info.error} {$opt_info.error} {/if}
    {/if} {/foreach} {/if} {include file="shared/questions.tpl"} {if $display_description_last_in_form && ($editCheck || $fields->description->can_edit)} {include file="shared/details_description_box.tpl"} {/if}
    **Replace with:** {* capture this next bit into a smarty variable, so that it can be not shown if there's nothing to show *} {capture assign=additionalInfo} {if $fields->url_link_1->is_enabled} {/if} {if $fields->url_link_2->is_enabled} {/if} {if $fields->url_link_3->is_enabled} {/if} {if $is_ent} {foreach from=$opt_field_info item=opt_info key=i} {if $opt_info.field->field_type=='cost'} {if !$add_cost_at_top} {* Adds cost, and does not have set to display cost optional fields at "top" of page (below normal price fields) *}
    {$precurrency} {if $editCheck || $opt_info.field->can_edit} {else} {$opt_info.value|displayPrice:'':''} {/if} {if $opt_info.error} {$opt_info.error} {/if}
    {/if} {elseif $opt_info.field->is_enabled}
    {if $field_config.use_filters && $opt_info.filter_assoc} {* Using filters for this field *} {$opt_info.value} {elseif !$editCheck && !$opt_info.field->can_edit} {* Editing, and can edit is off, so just display *} {$opt_info.value} {elseif $opt_info.field->field_type=='text'||$opt_info.field->field_type=='url'||$opt_info.field->field_type=='number'} {* Text input (text, number, or url) *} {elseif $opt_info.field->field_type=='textarea'} {* textarea type *} {elseif $opt_info.field->field_type=='dropdown'&&count($optional_types[$i])} {* dropdown *} {if $opt_info.other_box} {* other box for dropdown *}  {$opt_info.or}  {/if} {/if} {if $opt_info.error} {$opt_info.error} {/if}
    {/if} {/foreach} {/if} {include file="shared/questions.tpl"} {if $display_description_last_in_form && ($editCheck || $fields->description->can_edit)} {include file="shared/details_description_box.tpl"} {/if} {/capture} {if $additionalInfo|strip:''|strlen > 0}

    {$messages.500805}

    {$additionalInfo}
    {/if}
    ===== To 5.1.3 ===== ==== system/browsing/common/category_block.tpl 5.1.3 ==== Made a change to capture the category tree into a smarty var, instead of running the whole code for it twice: **Find:** {if $tree_display_mode == 1 or $tree_display_mode == 2} {if $string_tree or $array_tree or $category_tree_pre} {/if} {/if} **Replace with:** {capture assign=category_breadcrumb} {if $string_tree or $array_tree or $category_tree_pre} {/if} {/capture} {if $tree_display_mode == 1 or $tree_display_mode == 2} {$category_breadcrumb} {/if} then at the bottom of the file, make this change: **Find:** {if $tree_display_mode == 0 or $tree_display_mode == 2} {if $string_tree or $array_tree or $category_tree_pre} {/if} {/if} **Replace with:** {if $tree_display_mode == 0 or $tree_display_mode == 2} {$category_breadcrumb} {/if} ===== To 5.1.4 ===== ==== external/css/theme_styles.css 5.1.4 ==== Change needed to remove bullets from appearing for the "clear" list elements. **Find:** #listing_categories li.clr { clear: both; height: 0; font-size: 0; line-height: 0; } **Replace With:** #listing_categories li.clr { clear: both; list-style: none; height: 0; font-size: 0; line-height: 0; } ==== external/css/system/order_items/images/upload_images.css 5.1.4 ==== **NOTE:** This CSS file is normally only found in the default template set, like with system or module templates you would have had to manually copy this file to your custom template set. Problem was fixed with the relative location of background image for title bars, affecting the standard image uploader. **Find:** background: #4174a6 url('../images/backgrounds/c_bar_primary.gif'); **Replace with:** background: #4174a6 url('../../../../images/backgrounds/c_bar_primary.gif'); Few lines down in same file, **Find:** background: #7ca93a url('../images/backgrounds/c_bar_secondary.gif'); **Replace with:** background: #7ca93a url('../../../../images/backgrounds/c_bar_secondary.gif'); ==== system/listing_details/listing_tags_list.tpl 5.1.4 ==== Fixed {$listing_tags_list} to not link. Change the file contents to be like this: {* $Rev: 20434 $ *} {foreach from=$listing_tags_array item=tag name=tagList}{$tag|replace:'-':' '|capitalize|escape}{if !$smarty.foreach.tagList.last}, {/if}{/foreach} ===== To 5.1.5 ===== **Note:** Version 5.1.5 is not released yet, so the changes noted below are subject to change and be added to before 5.1.5 is released. ==== system/listing_details/image_block/gallery.tpl and filmstrip.tpl 5.1.5 ==== These changes apply to both **gallery.tpl** and **filmstrip.tpl**. These changes are needed to fix 404 error in IE7 when trying to open "non image" on listing details page, on sites with SEO enabled. **Find:** new_a.observe ('click', function (action) { action.stop(); window.open(this.href); }); **Replace With:** new_a.observe ('click', function (action) { if (!this.href.startsWith('http')) { //Stupid work-around for ie7, where this.href doesn't behave. return; } window.open(this.href); action.stop(); }); ==== system/payment_gateways/shared/payment_details.cc_form.tpl 5.1.5 ==== Changes to make the CVV image link use {external ...} so that it points to the correct location. **Find:** **Replace With:** ==== system/voting/browse_votes.tpl 5.1.5 ==== Two of the table headers were swapped and in the wrong order **Find:**
  • **Replace With:** ==== system/other/ajax_searchQuestions.tpl 5.1.5 ==== Fixed issue when there is "other" box, it ignores category question values selected from drop-down. **Find:** {if $q.other} {$messages.500659} {/if} **Replace with:** {if $q.other} {$messages.500659} {/if} ===== To 5.2 ===== ==== system/order_items/shared/category_choose.tpl 5.2.0 ==== Change to allow displaying category description under each category when placing a listing. **Find:** {if $display_cat_image ne 0 AND $cat.category_image ne ""}   {/if} {$cat.category_name|fromDB} **Replace With:** {if $display_cat_image ne 0 AND $cat.category_image ne ""}   {/if} {$cat.category_name|fromDB} {if $display_cat_description && $cat.description}

    {$cat.description|fromDB}

    {/if}
    ==== main_page/listing_classified.tpl and listing_auction.tpl 5.2.0 ==== Added ability to have the edit and delete buttons show on the listing details page, just like they are already displayed when browsing category browsing. To see the buttons, in both the **listing_classified.tpl** and **listing_auction.tpl** template files, make the following change (this will not work on previous versions). This change also allows addons such as Sharing to add more buttons here: **Find:** {$title} **Replace with:** {$title} {if $can_edit} {/if} {if $can_delete} {/if} {foreach from=$addonActionButtons item=btn} {$btn} {/foreach} There is new Youtube videos that require a new section to be added to both **listing_classified.tpl** and **listing_auction.tpl**. In both files, **find:**

    {$additional_text_4} ( » {$full_images_link} )

    {$image_block}
    **Replace with:** {if $offsite_videos_block}

    {$offsite_videos_title}

    {$offsite_videos_block}

    {/if} {if $image_block}

    {$additional_text_4} ( » {$full_images_link} )

    {$image_block}
    {/if}
    The new Public Questions / Answers functionality requires an addition to both of these templates, as well. Insert the following code wherever you'd like the Public Questions area to appear:

    {$publicQuestionsLabel}{if $logged_in} - {$askAQuestionText}{/if}

    {if $publicQuestions} {foreach from=$publicQuestions item=q key=question_id} {if $q.answer !== false}
    {$q.asker} ({$q.time}) {if $can_delete} {/if}
    {$q.question}
    {$q.answer}
    {/if} {/foreach} {else}
    {$noPublicQuestions}
    {/if}
    ==== system/payment_gateways/shared/transaction_approved.tpl 5.2.0 ==== Added new section to display order details on the cart success/failure page. **Find:** {if $logged_in} **Replace With:** {if $cart_items}

    {$messages.500896}

    {include file='display_cart/index.tpl' g_resource='cart' view_only=1 items=$cart_items}

    {/if} {if $logged_in}
    Changes to make the cart display in the admin panel. **Find:** {if $logged_in} **Replace With:** {if $logged_in&&!$in_admin} ==== module/shared/featured_pic.tpl 5.2.0 ==== Added ability to show "sold" image on featured pic module. **Find:** {if $l.caption || $l.price != '-' || $l.type}
    {/if} **Replace With:** {if $l.caption || $l.price != '-' || $l.type || $l.sold_image} {/if} Also made a change to allow W3C validation when the result table is empty and the "empty message" is turned off: **Find:** {foreachelse} {* returned no results *} {if $resultset_empty_message} {/if} {/foreach} **Replace with:** {foreachelse} {* returned no results *} {/foreach} ==== system/user_management/current_ads/list.tpl and expired_ads/list.tpl 5.2.0 ==== The design of both of these listing tables has changed extensively. Columns have been consolidated, and the action buttons "hidden" behind javascript. This cleans these tables up considerably, especially for smaller-resolution screens, such as netbooks and mobile browsers. The specific changes are too extensive to note here. ==== system/cart/display_cart/new_buttons_box.tpl 5.2.0 ==== Changes to allow cart to be used in admin panel. **Find:**
  • {$s}
  • **Replace With:**
  • {$s}
  • ==== external/js/listing_placement.js 5.2.0 ==== Changes to allow cart to be used in admin panel. **Find:** var geoListing = { **Replace With:**var geoListing = { inAdmin : false, Then later in the same file, **Find:** new Ajax.Autocompleter('listingTags', 'listingTags_choices', 'AJAX.php?controller=ListingTagAutocomplete&action=getSuggestions', { **Replace With:** var pre = (geoListing.inAdmin)? '../' : ''; new Ajax.Autocompleter('listingTags', 'listingTags_choices', pre+'AJAX.php?controller=ListingTagAutocomplete&action=getSuggestions', { ==== system/cart/payment_choices/index.tpl 5.2.0 ==== Change to template var name to make it consistent with other templates. Replace **{$cart_base_url}** with **{$cart_url}** in the template file. ==== system/order_items/images/image_box.tpl 5.2.0 ==== Changes to allow cart to be used in admin panel. **Find** every occurrence of: {external And replace each with {if $in_admin}../{/if}{external Also **find** every occurrence of: "{$slotData.image.image_url}" Replace each with: "{if $in_admin}../{/if}{$slotData.image.image_url}" Also **find:** {$messages.500715} **replace with:** {if $in_admin} Delete Image {else} {$messages.500715} {/if} Then, **find:** {$messages.500714} **Replace with:** {if $in_admin} Edit Image Info {else} {$messages.500714} {/if} ==== system/order_items/images/legacy_form.tpl 5.2.0 ==== Changes to fix reference to image place-holder when it is not needed. Also a few changes to allow it to be used in the admin panel. **Find:** {if $uploading_image || $uploading_image_placeholder} onsubmit="javascript: document.getElementById('loadingImage{$noscript}').src='{$uploading_image}';" {/if}> {if $uploading_image || $uploading_image_placeholder} {/if} {/if} {if $uploading_image}
    {/if}
    **Replace With:** {if $uploading_image} onsubmit="$('loadingImage{$noscript}').setStyle({ldelim}visibility: 'visible'});" {/if}> {/if} {if $uploading_image}
    {/if}
    Also changes for new "show/hide instructions" functionality added. **Find:**

    {$images.legacy_description}

    **Replace with:** {if !$noscript}
    {/if}

    {$images.legacy_description}

    {if !$noscript}
    {/if}
    ==== system/order_items/images/upload_images.tpl 5.2.0 ==== Changes to allow cart to be used in the admin panel. **Find:** Loading...{$messages.500704}

    **Replace with:** Loading...{$messages.500704}

    Later in the same file, **Find:**
    **Replace with:**
    Also changes to allow upload images to be part of a "media" step, as part of the feature to add youtube video. Changes for this are too much to document here. ==== system/order_items/images/upload_images_head.tpl 5.2.0 ==== Changes to allow cart to be used in the admin panel. **Find:** geoUH.flashUrl = "classes/swfupload/swfupload.swf"; **Replace with:** geoUH.flashUrl = "{if $in_admin}../{/if}classes/swfupload/swfupload.swf"; geoUH.ajaxUrl = "{if $in_admin}../{/if}AJAX.php"; A few lines down, **find:** geoUH.flashButtonImage = '{external file="images/buttons/select_file.png"}'; **Replace with:** geoUH.flashButtonImage = '{if $in_admin}../{/if}{external file="images/buttons/select_file.png"}'; Then **find:** "classified_session": "{$classified_session}", "user_agent": "{$user_agent}", "uploadSlot": "{$freeSlot}", "userId" : "{$user.id}" **Replace with:** 'classified_session': '{$classified_session|escape_js}', 'user_agent': '{$user_agent|escape_js}', 'uploadSlot': '{$freeSlot}', 'userId' : '{$userId}', 'adminId' : '{$adminId}' Then **find:** geoUH.userId = {$user.id}; **replace with:** geoUH.userId = {$userId}; geoUH.adminId = {$adminId}; Also changes to add new "show/hide instructions" feature. **Find:** if (lightUpBox) {ldelim} //register the show and hide callbacks for image upload box with the //lightupbox, so it shows and hides cleanly lightUpBox.registerHideCallback (geoUH.tempHideUpload); lightUpBox.registerShowCallback (geoUH.tempShowUpload); } **Replace with:** if (lightUpBox) {ldelim} //register the show and hide callbacks for image upload box with the //lightupbox, so it shows and hides cleanly lightUpBox.registerHideCallback (geoUH.tempHideUpload); lightUpBox.registerShowCallback (geoUH.tempShowUpload); } //register the fix position callback for after show/hide instruction //animation is done, so that the image upload box gets moved to correct //place after instructions are shown/hidden geoUtil.instrBtns.registerCallbacks (geoUH.tempHideUpload, geoUH.fixUploadPosition); ==== system/order_items/shared/listing_collect_details.tpl 5.2.0 ==== Changes to allow cart to be used in admin panel. **Find:** **Replace with:** ==== external/js/system/order_items/images/handlers.js 5.2.0 ==== Changes to allow cart to be used in admin panel. **Find:** //the flash URL, used when initing the swfu **Replace with:** //The URL for the AJAX.php file ajaxUrl : "AJAX.php", //the flash URL, used when initing the swfu Then later in file, **find:** userId : 0, **replace with:** userId : 0, adminId : 0, Then, find all occurrences of: "AJAX.php And replace each one with: geoUH.ajaxUrl+" In same file, **find:** parameters: {'imageSlots': Sortable.serialize('imagesCapturedBox'), 'userId' : geoUH.userId}, **Replace with:** parameters: { 'imageSlots': Sortable.serialize('imagesCapturedBox'), 'userId' : geoUH.userId, 'adminId' : geoUH.adminId }, Then **find each occurrence:** userId : geoUH.userId **Replace each one with:** userId : geoUH.userId, adminId : geoUH.adminId In same file, further changes made to add "show/hide instructions" feature. **Find:** //Find the "next" form, and add a listener to it. **Replace with:** //show the instructions if ($('image_upload_instructions')) { $('image_upload_instructions').show(); } if ($('image_upload_instructions_legacy')) { //hide legacy button $('image_upload_instructions_legacy').hide(); } //Find the "next" form, and add a listener to it. Then later in the file, **find:** }, /** * Moves new/edit image box to the given image slot, uses a move animation if * the box is already visible, or just moves it then uses a fade in animation * if the box starts out hidden. */ moveTo : function (position) { **replace with:** }, /** * Fixes the position of the image upload box */ fixUploadPosition : function () { if (geoUH.currentEditPosition) { geoUH.moveTo(geoUH.currentEditPosition); } else if (geoUH.currentUploadSpot) { geoUH.moveTo(geoUH.currentUploadSpot); } }, /** * Moves new/edit image box to the given image slot, uses a move animation if * the box is already visible, or just moves it then uses a fade in animation * if the box starts out hidden. */ moveTo : function (position) { ==== Template variable changes for cart_url 5.2.0 ==== Changes to allow cart to be used in the admin panel. In each of these files: * system/cart/display_cart/action_interrupted.tpl * system/cart/display_cart/item.tpl * system/order_items/shared/category_choose.tpl * system/order_items/listing_edit/edit_choices.tpl Changes to allow cart to be used in admin panel. In the file, find every occurrence of: {$classifieds_file_name}?a=cart And replace each with: {$cart_url} ==== system/order_items/images/display_images.tpl 5.2.0 ==== Changes to get rid of empty image boxes when using legacy image uploader. **Find:** {if !$smarty.foreach.imgs.last && ($smarty.foreach.imgs.index+1) % $old_config.photo_columns == 0}
  • {/if} Remove that code from the template. Changes to template vars, as part of changing how image upload page is structured, to add youtube video. **Find:** $images_data **Replace with:** $images.images_data **Find:** $show_delete **replace with:** $images.show_delete ==== system/ListingFeed/oodle_feed.tpl 5.2.0 ==== Changes to allow Oodle feed to handle location data with invalid chars in it. **Find:** {if $listing.location_address}
    {$listing.location_address|fromDB|strip}
    {/if} {if $listing.location_city}{$listing.location_city|fromDB|strip}{/if} {if $listing.location_state}{$listing.location_state|fromDB|strip}{/if} {if $listing.location_zip}{$listing.location_zip|fromDB|strip}{/if} {if $listing.location_country}{$listing.location_country|fromDB|strip}{/if}
    **Replace With:** {if $listing.location_address}
    ':''|strip}]]>
    {/if} {if $listing.location_city}':''|strip}]]>{/if} {if $listing.location_state}':''|strip}]]>{/if} {if $listing.location_zip}':''|strip}]]>{/if} {if $listing.location_country}':''|strip}]]>{/if}
    ==== system/order_items/images/images_captured_box.tpl 5.2.0 ==== Changes to template vars, as part of changing how image upload page is structured, to add youtube video. **Find:** $imageSlots **Replace with:** $images.imageSlots ==== external/css/theme_styles.css 5.2 ==== Added new CSS for show instructions button, added during new media collection page. **Add to file:** h2.title a.show_instructions_button, .show_instructions_button { /* The instructions button for each section on media collection page */ color: #666666; } Also added new CSS for displaying the video block. **Add to file:** /* Offsite Videos */ div.offsite_video { display: inline-block; margin: 5px; padding: 15px; border: 3px solid #eaeaea; } div.offsite_videos_container { text-align: center; padding-bottom: 20px; } ==== external/css/system/order_items/images/upload_images.css 5.2.0 ==== **NOTE:** This CSS file is normally only found in the default template set, like with system or module templates you would have had to manually copy this file to your custom template set. Minor change to CSS to prevent jumpiness in new "show/hide instructions" functionality. **Find:** #standardUploadBox { /* overall containter for "standard" image uploader (the fancy one) */ margin-top: 20px; } **Replace with:** #standardUploadBox { /* overall containter for "standard" image uploader (the fancy one) */ } ===== To 5.2.1 ===== ==== system/order_items/shared/media.tpl 5.2.1 ==== Fix to make legacy image uploader work properly on new media collection page. **Find:** **Replace With:** ==== external/js/system/order_items/images/handlers.js 5.2.1 ==== Few tweaks to JS that should make it slightly more stable. **Find:** while (formElem && !formElem.match('form') && formElem.up()) { //keep traveling up the DOM until we get to the parent form formElem = formElem.up(); } **Replace With:** formElem = formElem.up('form'); Further down, **Find:** //reset parameters geoUH.swfu = null; **Replace with:** //reset parameters //geoUH.swfu should have been destroyed above, so set the var to null geoUH.swfu = null; if (!geoUH.doingSomething('initSwfu')) { //we are hiding before init is finished loading, since we just destroyed it, //chances are it isn't initializing any more... //alert('that was close!'); geoUH.doNothing(); } ==== external/css/theme_styles.css 5.2.1 ==== We missed 2 classes that needed to be moved to secondary theme styles, for the instructions button added during media collection step. **Find:** h2.title a.show_instructions_button:hover, .show_instructions_button:active { border: 1px solid #a7c1dd; background: #b7d5f2 url('../images/backgrounds/button_hover.gif') repeat-x center left; color: #3c70ac; text-decoration: none; } **Remove that code (it is moved to secondary theme styles)** ==== external/css/secondary_theme_styles.css 5.2.1 ==== We missed 2 classes that needed to be moved to secondary theme styles, for the instructions button added during media collection step. **Find:** .mini_button:hover, .mini_button:active, .editor_ok_button:hover, .edit:hover, .edit:active, .preview:hover, .preview:active { **Replace with:** .mini_button:hover, .mini_button:active, .editor_ok_button:hover, .edit:hover, .edit:active, .preview:hover, .preview:active, h2.title a.show_instructions_button:hover, h2.title a.show_instructions_button:active { ==== module/module_zip_filter_1.tpl 5.2.1 ==== In this file, we change the order of the tags to fix W3C validation error. The **** open and close tags have been moved to be "outside" of the main
    element. ===== To 5.2.2 ===== ==== system/order_items/shared/media.tpl 5.2.2 ==== Changes required to make sure the media collection page is being submitted (so that it does not process media just from hitting refresh). Note that without this change, the media page will not go on when the user clicks "continue", the page will just keep refreshing. **Find:** **Replace with:** ==== main_page/listing_classified.tpl and main_page/listing_auction.tpl 5.2.2 ==== We made some changes to the default listing details templates to make the Sharing addon buttons more W3C-compliant, and make the Sharing popup function correctly in Internet Explorer 9. **Change this:**

    {$classified_id_label} {$classified_id} {$title} {if $can_edit} {/if} {if $can_delete} {/if} {foreach from=$addonActionButtons item=btn} {$btn} {/foreach}

    **To this:**

    {$title} {$classified_id_label} {$classified_id}

    {if $can_edit} {/if} {if $can_delete} {/if} {foreach from=$addonActionButtons item=btn} {$btn} {/foreach}

    ===== To 5.2.4 ===== ==== external/js/system/order_items/images/handlers.js 5.2.4 ==== Change to get rid of mis-alignment of new image upload box. **Find:** var moveX = (movePosition.left * 1) - 10; var moveY = (movePosition.top * 1) - 10; **Replace With:** //The old -10 adjustment no longer needed, guess Prototype's //positionedOffset is more accurate in new version of library. var moveX = (movePosition.left * 1); var moveY = (movePosition.top * 1); ===== To 6.0.0 ===== ==== Main Changes ==== Below is a list of changes most sites will need to do because of the new version of Smarty 3.1.5, regardless of whether they customize system or module templates. * In **main_page/front_page.tpl** change **$geo_inc_files.addons.geo_addons.geographic_navigation** to **$enabledAddons.geographic_navigation** * Convert any places that embed PHP in templates (using {php} or {php_include} tags), to use alternate methods. Suggestions for that can be found in [[:designers:no_use_php]] * The new version of Smarty is much more **strict**, after updating to version 6.0 we recommend to go through your site and check for any errors. Most changes just require minor adjustments, for instance removing extra space from a tag like { tag} to {tag}, things like that. ==== system/cart/display_cart/item.tpl 6.0.0 ==== Change to add the edit price button for when working on cart in admin panel. **Find:**
    {if $item.canEdit} {$messages.500260} {/if} **Replace with:**
    {if !$allFree && $item.canAdminEditPrice && $in_admin} Edit Price {/if} {if $item.canEdit} {$messages.500260} {/if} Changes for added features in admin-side cart, to allow "pre-approval" of items that normally require admin approval. **Find:** {$item.title} **Replace with:** {$item.title} {if $in_admin && !$view_only && $item.needAdminApproval}
    {/if}
    Changes to allow costs of 0 to be replaced by a string: **Find:** {$item.total|displayPrice} **Replace with:** {$item.total|displayPrice:false:false:'cart'} ==== Template variable changes for cart_url 6.0.0 ==== Changes to allow cart to be used in the admin panel (A few changes that were missed in 5.2.0). In each of these files: * system/order_items/shared/**anonymous_data.tpl** * system/order_items/shared/**choose_price_plan.tpl** * system/order_items/shared/**listing_collect_details.tpl** Changes to allow cart to be used in admin panel. In the file, find every occurrence of: {$classifieds_file_name}?a=cart And replace each with: {$cart_url} ==== system/cart/display_cart/index.tpl 6.0.0 ==== Changes for added features in admin-side cart, to allow "pre-approval" of items that normally require admin approval. **Find:** {assign var='no_use_checkout' value=0} {foreach from=$items key=k item=item} {include file="display_cart/item.tpl" is_sub=0} {foreachelse} {assign var='no_use_checkout' value=1}
    {if $allFree}{$messages.500405}{else}{$messages.500248}{/if}
    {/foreach} {if !$view_only && $no_use_checkout ne 1}
    {/if}
    **Replace with:** {if !$view_only}{/if} {assign var='no_use_checkout' value=0} {foreach from=$items key=k item=item} {include file="display_cart/item.tpl" is_sub=0} {foreachelse} {assign var='no_use_checkout' value=1}
    {if $allFree}{$messages.500405}{else}{$messages.500248}{/if}
    {/foreach} {if !$view_only && $no_use_checkout ne 1}
    {/if} {if !$view_only}{/if}
    ==== system/cart/payment_choices/index.tpl 6.0.0 ==== Fix cart link on payment page in new admin cart. **Find:** {$messages.500265} **Replace with:** {$order_summary_desc} ==== system/payment_gateways/shared/transaction_approved.tpl 6.0.0 ==== Add a "recently created orders" link when viewing cart in admin panel. **Find:** {if $logged_in&&!$in_admin} {/if}
    **Replace with:** {if $logged_in&&!$in_admin} {/if} {if $in_admin && $user.id} {/if}
    ==== system/user_management/blacklist/blacklisted_buyers.tpl 6.0.0 ==== Removed the parts that display the e-mail address, in the list of black-listed users. **Find:**
  • **Replace with:** {* By default, should not show e-mail addresses! Un-comment to show anyways *} {**} Later in the file, **find:** **Replace with**: {* By default, should not show e-mail addresses! Un-comment to show anyways *} {* *} ==== system/user_management/whitelist/whitelisted_buyers.tpl 6.0.0 ==== Removed the parts that display the e-mail address, in the list of invited users. **Find:** **Replace with:** {* By default, should not show e-mail addresses! Un-comment to show anyways *} {**} Later in the file, **find:** **Replace with**: {* By default, should not show e-mail addresses! Un-comment to show anyways *} {* *} ==== system/classes/String/displayPrice.tpl 6.0.0 ==== Changes needed for Smarty 3.0, to remove the added newline, and also changes to allow 0.00 to be replaced with string (new setting specified by admin). **Find:** {$Rev: 18810 $ *} {if $onlyPost}{$post}{elseif $number === false}-{else}{$pre}{$number}{if $post} {$post}{/if}{/if} **Replace with:** {* $Rev: 21976 $ *}{strip} {if $replace} {$replaceTxt} {elseif $onlyPost} {$post} {elseif $number === false} - {else} {$pre}{$number}{if $post} {$post}{/if} {/if} {/strip} Note that the rev # shown at the top may be different. ==== system/search_class/search_results.tpl Moved/Renamed 6.0.0 ==== The file have been removed. The search results page now uses the built in browse functionality, to keep consistent with other pages such as browsing categories, browsing tags, etc. To replace this template, a new template has been created, at: **system/browsing/search.tpl** The new template is totally different than the old one, as it uses the common browsing sub-templates to display listing results. ==== system/order_items/shared/questions.tpl 6.0.0 ==== Changes for numeric category questions. **Find:** {if $question.type == 'none' || $question.type == 'url'} **Replace With:** {if $question.type == 'none' || $question.type == 'url' || $question.type == 'number'} ==== system/other/ajax_searchQuestions.tpl 6.0.0 ==== Changes for numeric category questions. Also to add new "date" category question field type. **Find:** {if $q.type == "check"} **Replace with:** {if $q.type == 'date'}
    {$f.value} {$f.label} {$f.value}
    {$f.value} {$f.label} {$f.value} {if $f.error}
    {$f.error} {/if}
    {if $details.pre}{$details.pre}{else} {/if} {$details.label} {if $details.error}
    {$details.error} {/if}
    {$details.value}
    {$details.section_head}
    {if $details.pre}{$details.pre}{else} {/if} {$details.label} {if $details.error}
    {$details.error} {/if}
    {$details.value}
    {$details.section_head}
    {if $details.pre}{$details.pre}{else} {/if} {$details.label} {if $details.error}
    {$details.error} {/if}
    {$details.value}
    {$messages.505}
    {$messages.505}
    {$messages.511}
    {if $q} {$messages.500662} {else} {$messages.511} {/if}
    {if $l.full_image_tag} {$l.image} {else} {/if} {if $l.full_image_tag} {* most likely using geoImage::display_thumbnail(), which includes its own around the image *} {$l.image} {else} {/if}
    {$details.section_head}
    {$details.section_head}
    {$details.section_desc}
      {$messages.500371}{$messages.500371}     {if $l.full_image_tag} {$l.image} {else} {/if} {if $l.full_image_tag} {$l.image} {else} {/if} {$headers.tags.text} {if $l.tags} {include file='common/listing_tags.tpl' listing_tags_array=$l.tags} {/if} {$messages.2005} {$messages.2006} {$messages.2007} {$messages.2008} {$messages.2005} {$messages.2006} {$messages.2008} {$messages.2007}
    {if $l.caption} {$l.caption|strip_tags|truncate:$module.length_of_description+3} {/if} {if $l.price != '-'} {$l.price} {/if} {if $l.type}
    {$l.type}
    {/if}
    {if $l.caption} {$l.caption|strip_tags|truncate:$module.length_of_description+3} {/if} {if $l.price != '-'} {$l.price} {/if} {if $l.type}
    {$l.type}
    {/if} {if $l.sold_image} {/if}
    {$resultset_empty_message}
    {if $resultset_empty_message}
    {$resultset_empty_message}
    {/if}
    {$messages.102832}{$messages.102832}{$user.email}{$user.email}{$messages.102846}{$messages.102846}{$user.email}{$user.email}
    {$messages.501040} {$messages.501041}
    {elseif $q.type == 'numbers'}
    {$messages.1440} {$messages.1441}
    {elseif $q.type == 'check'}
    Further in the file, changes to allow multiple selections for category drop-downs. **Find:** {elseif $q.type == "select"} {if $q.other} {$messages.500659} {/if} {/if} **Replace with:** {elseif $q.type == "select"}
      {foreach $q.options as $opt} {if $opt}
    • {/if} {/foreach}
    {if $q.other} {$messages.500659} {/if}
    {/if}
    Then back up on the page some, changes to allow site-wide optionals to have multiple dropdown values selected, and also to add "date" field type for optional site-wide fields. **Find:** {if $field.type == "numbers"}
    {$messages.1440} {$messages.1441}
    {elseif $field.type == "text"} {elseif $field.type == "select"} {/if} {if $field.other_box} {$messages.1458} {/if}
    **Replace with:** {if $field.type == 'numbers'}
    {$messages.1440} {$messages.1441}
    {elseif $field.type=='date'}
    {$messages.501040} {$messages.501041}
    {elseif $field.type == 'text'} {elseif $field.type == 'select'}
      {foreach $field.dropdown as $val} {if $val.value}
    • {/if} {/foreach}
    {if $field.other_box} {$messages.1458} {/if}
    {/if}
    ==== external/css/theme_styles.css 6.0.0 ==== Changes to allow multiple selections for category question dropdowns, and CSS for new calendar date picker. Also changes for having "tabbed contents" on client side. See bug 82. **Add to End:** /* ###### Multi-select search question check-boxes ####### */ div.multiselect { display: inline-block; } div.multiselect ul { margin: 0px; padding: 0px; } div.multiselect ul li { list-style: none; float: left; padding: 0px 10px 0px 0px; } div.multiselect .or_field { text-align: right; } /* ############ Tabs ############ */ ul.tabList { list-style: none; margin: 0px 0px 0px 10px; padding: 0px; z-index: 2; } ul.tabList li { background: #eaeaea; border-top: 1px solid #d4d4d4; border-left: 1px solid #d4d4d4; border-right: 1px solid #d4d4d4; border-bottom: 5px solid #eaeaea; padding: 10px 15px 8px 15px; color: #818181; text-decoration: none; display: inline-block; margin: 0px 1px; cursor: pointer; font-size: 11px; font-weight: bold; margin-bottom: -5px; /* Give round corners on all modern updated browsers */ border-top-left-radius: 7px; border-top-right-radius: 7px; } /* Hover effects on primary_theme_styles.css */ div.tabContents { clear: both; border: 5px solid #eaeaea; padding: 5px; z-index: 1; } /* ############ CalendarView ############ */ div.calendar { font-size: smaller; color: #000; } div.calendar.popup { margin-left: -40px; margin-top: 0px; z-index: 1006; } div.calendar td.button { /* Un-do the normal button stuff */ border: inherit; background: transparent; color: inherit; height: auto; font-weight: normal; font-size: 12px; display: table-cell; } div.calendar table { background-color: #eee; border: 1px solid #aaa; border-collapse: collapse; } div.calendar thead { background-color: white; } div.calendar td, div.calendar th { padding: 3px; text-align: center; } div.calendar td.title { font-weight: bold; } div.calendar th { background: #ddd; border-bottom: 1px solid #ccc; border-top: 1px solid #ccc; font-weight: bold; color: #555; } div.calendar tr.days td { width: 2em; color: #555; text-align: center; cursor: pointer; } div.calendar tr.days td:hover, div.calendar td.button:hover { background-color: #34ABFA; cursor: pointer; } div.calendar tr.days td:active div.calendar td.button:active { background-color: #cde; } div.calendar tr.days td.selected { font-weight: bold; background-color: #fff; color: #000; } div.calendar tr.days td.today { font-weight: bold; color: #D50000; } div.calendar tr.days td.otherDay { color: #bbb; } Change to improve the layout of the My Account Links module. **Find:** h1.subtitle { background: #eaeaea; font-size: 14px; font-weight: bold; margin: 1px 0px; padding: 5px 0px 5px 3px; border-top: 1px solid #dddddd; border-bottom: 1px solid #dddddd; } **Replace With:** h1.subtitle { background: #eaeaea; font-size: 14px; font-weight: bold; margin: 1px 0px; padding: 5px 0px 5px 3px; border-top: 1px solid #dddddd; border-bottom: 1px solid #dddddd; } .my_account_links_inactive h1.subtitle { margin: 0px; } ==== module/my_account_links.tpl 6.0.0 ==== Change to improve the layout of the My Account Links module. (removed an extra line break) **Find:** {if count($orderItemLinks) > 0}
    {/if}
    **Replace With:** {if count($orderItemLinks) > 0} {/if} Allow the mini-cart display at the top of the module to use different text when there is only 1 item in the cart: **Find:** {$cartItemCount} {$messages.500648} **Replace With:** {$cartItemCount} {if $cartItemCount == 1}{$messages.501015}{else}{$messages.500648}{/if} ==== system/search_class/details_form.tpl 6.0.0 ==== Changes to allow searching by multiple site wide optional values on optional drop-downs. Also changes to add new "date" field type for optional site-wide fields. **Find:** {foreach from=$optionals item=o}
    {if $o.type == "numbers"} {$messages.1440} {$messages.1441} {elseif $o.type == "text"} {elseif $o.type == "select"} {/if} {if $o.other_box} {$messages.1458} {/if}
    {/foreach}
    **Replace with:** {foreach from=$optionals item=o}
    {if $o.type == 'numbers'} {$messages.1440} {$messages.1441} {elseif $o.type=='date'} {$messages.501040} {$messages.501041} {elseif $o.type == 'text'} {elseif $o.type == 'select'}
      {foreach $o.dropdown as $val} {if $val.value}
    • {/if} {/foreach}
    {if $o.other_box} {$messages.1458} {/if}
    {/if}
    {/foreach}
    Changes to remove older non-used functionality that was only used back when templates were saved in the database. **Find:**
    {if $custom_template_id} {/if}
    **Replace with:**
    ==== system/order_items/account_balance/enter_amount.tpl 6.0.0 ==== Changes to allow check-box for auto-approving items in admin panel. **Find:**
    **Replace with:** ==== system/browsing/common/listing_set.tpl 6.0.0 ==== Changes for "verified account" feature. **Find:** {if $l.icons.buy_now}{/if} **Replace with:** {if $l.icons.verified}{/if} {if $l.icons.buy_now}{/if} ==== system/authentication/login_form.tpl 6.0.0 ==== Changes to add new addon hook. **Find:** **Replace with:** {$addons_bottom} ==== system/user_management/information/edit_user_form.tpl 6.0.0 ==== Changes to add new addon hook. **Find:** {if count($orderItemFields) > 0} {foreach from=$orderItemFields item=f}
    {if $f.type == 'single_checkbox'} {$f.value} {else} {$f.value} {/if} {if $f.error}
    {$f.error} {/if}
    {/foreach} {/if}
    **Replace with:** {if count($orderItemFields) > 0} {foreach $orderItemFields as $f}
    {if $f.type == 'single_checkbox'} {$f.value} {else} {$f.value} {/if} {if $f.error}
    {$f.error} {/if}
    {/foreach} {/if} {if count($addonFields) > 0} {foreach $addonFields as $addon => $addonField} {foreach $addonField as $f}
    {if $f.type == 'single_checkbox'} {else} {$f.value} {/if} {if $f.error}
    {$f.error} {/if}
    {/foreach} {/foreach} {/if}
    Changes to only show message if demo is enabled. **Find:** {else}
    This user's password may not be edited in the demo.
    {/if}
    **Replace With:** {elseif $demo}
    This user's password may not be edited in the demo.
    {/if}
    ==== external/css/primary_theme_styles.css 6.0.0 ==== Changes for having "tabbed contents" on client side. See bug 82. At end of file, add: /* ######## Tabs ######## */ ul.tabList li:hover, ul.tabList li.activeTab { background: #4987C5 url('../images/backgrounds/nav_tab.gif') repeat-x top left; border: 1px solid #4987C5; padding-bottom: 13px; border-bottom: none; color: #ffffff; } ul.tabList li.activeTab { background: #ffffff; border: 2px solid #eaeaea; padding: 9px 14px 13px 14px; border-bottom: none; color: #4987C5; } ==== system/browsing/main.tpl 6.0.0 ==== Changes for having "tabbed contents" on client side. See bug 82. Pretty much entire file is changed, replace old file with contents from new file. ==== module/my_account_links.tpl 6.0.0 ==== Changes to make items in my account links with the text blank, not show. **Find:** {foreach from=$cartLinks item=listItem} {/foreach} **Replace with:** {foreach from=$cartLinks item=listItem} {if $listItem.icon||$listItem.label} {/if} {/foreach} **Find:** {foreach from=$orderItemLinks item=itemLink} {/foreach} **Replace with:** {foreach from=$orderItemLinks item=itemLink} {if $itemLink.icon||$itemLink.label} {/if} {/foreach} **find:** {foreach from=$paymentGatewayLinks item=gatewayLink} {/foreach} **replace with:** {foreach from=$paymentGatewayLinks item=gatewayLink} {if $gatewayLink.icon||$gatewayLink.label} {/if} {/foreach} **find:** {foreach from=$links item=listItem} {/foreach} **replace with:** {foreach from=$links item=listItem} {if $listItem.icon||$listItem.label} {/if} {/foreach} ==== module/shared/category_tree.tpl 6.0.0 ==== Changes for bug 148 to allow category tree prefix to be used for category tree module. **find:** {if !$fallback_tree_display} **replace with:** {$category_tree_pre} {if !$fallback_tree_display && $categories} Further down, **find:** {else} **replace with:** {elseif $fallback_tree_display} ==== system/order_items/shared/listing_collect_details.tpl 6.0.0 ==== Several changes for reverse auctions. See bug 32. **Find:** {if (($sell_type == 2 || $sell_type == 4) && $editAuctionPrices)}
    {if ($editCheck && $sell_type == 2)} {if $field_config.allow_standard && $field_config.allow_dutch && !$pricePlan.buy_now_only} {elseif $field_config.allow_standard && ($pricePlan.buy_now_only || !$field_config.allow_dutch)} {$messages.102837} {elseif $field_config.allow_dutch} {$messages.102838} {else} {/if} {$auction_type_help_link} {else} {if $session_variables.auction_type == 2} {$messages.102838} {else} {$messages.102837} {/if} {/if} **Replace with:** {if $sell_type == 2 && $editAuctionPrices}
    {if $editCheck} {if $field_config.allow_standard && $pricePlan.buy_now_only} {* Buy now only! Can only be "standard" auction! *} {$messages.102837} {elseif $auction_choices_count>1} {* We know there is more than one choice, so show selection *} {elseif $field_config.allow_standard} {$messages.102837} {elseif $field_config.allow_dutch} {$messages.102838} {elseif $allow_reverse} {$messages.500977} {/if} {$auction_type_help_link} {else} {if $session_variables.auction_type==1} {$messages.102837} {elseif $session_variables.auction_type==2} {$messages.102838} {elseif $session_variables.auction_type==3} {$messages.500977} {/if} {/if} **Find:** **replace with:** {if $allow_reverse}{/if} **Find:** {$messages.102731} **Replace with:** {if $session_variables.auction_type==3}{$messages.500979}{else}{$messages.102731}{/if} **Find:**