Hi Jarlen,
The only way I found to do what you want is by sorting the countries by its 'CountryLastModified' column. It is not visible in the SiteManager but definetly there.
What you have to do is just edit the countries (in cmsdesk/sitemanager) you want to appear on top of the list so their CountryLastModified date will be updated. (In your case, edit Canada and USA)
Then, you will have to modify the CountrySelector webpart (/CMSFormControls/CountrySelector.ascx file)
On line 7, there is the code:
<cms:UniSelector ID="uniSelectorCountry" runat="server" DisplayNameFormat="{%CountryDisplayName%}"
ObjectType="cms.country" ResourcePrefix="countryselector" AllowAll="false" AllowEmpty="false" />
replace this with:
<cms:UniSelector ID="uniSelectorCountry" runat="server" DisplayNameFormat="{%CountryDisplayName%}"
ObjectType="cms.country" ResourcePrefix="countryselector" AllowAll="false" AllowEmpty="false" OrderBy="CountryLastModified DESC" />
This tells the UniSelector control to sort the countries by their last modified date from the newest date to the oldest.
The only caveat I see with this solution is that the other countries (other than Canada and USA) will not be sorted alphabetically if their CountryLastModified column differs.
You could fix this by achieving something like (Transact SQL):
UPDATE CMS_Country SET CountryLastModified = '2008-03-13 00:00:00' WHERE (CountryName <> 'Canada' AND CountryName <> 'USA')
That way, hence all other countries have the same CountryLastModified date except Canada and USA, the alphabetical order will be respected.
For your information:
I would suggest not doing this if you do not have a minimum of knowledge in programming ;) Strante behavior can occur if you do not do this correctly.Maybe someone at Kentico knows a better way to do this for the average user? :)
I will follow this post if you have further questions.
Cheers !