Ok, here is where i am stuck right now:) :
1. We've extrended farFU:
<cfproperty
name="language" type="string" default="" hint="The application
name
that the friendly URL is a part of. Useful for subsites."
ftSeq="9" >
2.:In setSystemFU function we've changed:
<cfif not StructKeyExists(stLocal.stObj,"status") OR
stLocal.stObj.status EQ "approved">
<!--- Get the current system fu object for a
given refobjectid ---
>
<cfset stLocal.stCurrentSystemObject =
getSystemObject(refObjectID="#arguments.objectid#") />
<!--- Generate the new system FU for the
current object --->
<cfset stLocal.newFriendlyURL =
getSystemFU(objectID="#arguments.objectid#",
typename="#arguments.typename#") />
<cfif
structIsEmpty(stLocal.stCurrentSystemObject)>
<cfset languageList="armenian,russian,english"/>
<!--- See if their is a current default
object --->
<cfset stLocal.stCurrentDefaultObject =
getDefaultFUObject(refObjectID="#arguments.objectid#") />
<cfloop list="#languageList#" index="i">
<!--- No System FU object currently set
--->
<cfset
stLocal.stCurrentSystemObject.objectid =
application.fc.utils.createJavaUUID() />
<cfset
stLocal.stCurrentSystemObject.refObjectID =
arguments.objectid />
<cfset
stLocal.stCurrentSystemObject.fuStatus = 1 />
<cfset
stLocal.stCurrentSystemObject.redirectionType = "none" />
<cfset
stLocal.stCurrentSystemObject.redirectTo = "default" />
<cfset stLocal.stCurrentSystemObject.language =
#i# />
<cfset
stLocal.stCurrentSystemObject.friendlyURL =
getUniqueFU(friendlyURL="#left(stLocal.newFriendlyURL,245)#") />
<!--- If no default object, set this as
the default --->
<cfif
structIsEmpty(stLocal.stCurrentDefaultObject)>
<cfset
stLocal.stCurrentSystemObject.bDefault = 1 />
</cfif>
<cftry>
<cfset stLocal.stResult =
setData(stProperties="#stLocal.stCurrentSystemObject#") />
<cfcatch type="any">
<cfoutput><p>#getUniqueFU(friendlyURL="#stLocal.newFriendlyURL#")#</
p></cfoutput>
<cfdump var="#stLocal#"
expand="false" label="stLocal" /
><cfabort showerror="debugging" />
</cfcatch>
</cftry>
</cfloop>
<cfelse>
<cfset stLocal.newFriendlyURL =
getUniqueFU(friendlyURL="#left(stLocal.newFriendlyURL,245)#",
FUID="#stLocal.stCurrentSystemObject.objectid#") />
<cfif stLocal.newFriendlyURL NEQ
stLocal.stCurrentSystemObject.friendlyURL>
<!--- NEED TO ARCHIVE OLD
SYSTEM OBJECT AND UPDATE --->
<cfset stLocal.stResult =
archiveFU(objectid="#stLocal.stCurrentSystemObject.objectid#") />
<cfset
stLocal.stCurrentSystemObject.friendlyURL =
stLocal.newFriendlyURL />
<cfset stLocal.stResult =
setData(stProperties="#stLocal.stCurrentSystemObject#") />
</cfif>
</cfif>
3. In getSystemFU we've added:
<cfargument name="language" required="false" default="" type="string"
hint="Content item FU Language.">
<cfset stMetaProps = structNew()>
<cfset stMetaProps.language = #arguments.language#>
<skin:view typename="#stobj.typename#"
objectid="#stobj.objectid#"
webskin="displaySystemFU" r_html="systemFU" alternateHTML=""
stParam="#stMetaProps#">
4. under my ctArticle webskins in displaySystemFU.cfm i've added:
<cfparam name="articleTitle" default="#stObj.title#"/>
<cfparam name="stParam.language" default="russian">
<cfif #stParam.language# eq 'armenian'>
<cfset articleTitle=#stObj.title_armenian#/>
<cfelseif #stParam.language# eq 'russian'>
<cfset articleTitle=#stObj.title_russian#/>
<cfelse>
<cfset articleTitle=#stObj.title#/>
</cfif>
<cfset friendlyURLString =
"/article/#DateFormat(stObj.publishDate,'yyyy')#-
#DateFormat(stObj.publishDate,'mm')#-
#DateFormat(stObj.publishDate,'dd')#-#articleTitle#">
It works fine and generate language based FUs, but...when it comes to
non-latin characters in titles of articles it does not process them
and does not insert them to DB:
/article/2010-06-12- (armenian)
/article/2010-06-12-the-committee-on-state-revenues-of-armenia-found-
unlicensed-manufacture-beverages-search-actions-carried-out-by-armenia-
sotrudnikamizolotoy-stock-is-concentrated-in-the-dome (english)
While trying to debug, we've add some <cflog statements to check on
progress, and we've mentioned that it is trying to create something
out of non-lating chars, but replacing them with questionmarks, and
does not further process them.
I cant understand whats wrong with this code.
--
You received this message cos you are subscribed to "farcry-dev" Google group.
To post, email: [email protected]
To unsubscribe, email: [email protected]
For more options: http://groups.google.com/group/farcry-dev
--------------------------------
Follow us on Twitter: http://twitter.com/farcry