More in this section

Forums / Developing with Sitefinity / Working with Multi Language

Working with Multi Language

5 posts, 0 answered
  1. Siddesh Kapadi
    Siddesh Kapadi avatar
    239 posts
    Registered:
    09 Oct 2009
    05 Mar 2012
    Link to this post
    Hi Team Telerik,

    We have been developing a multi lingual site. Earlier, the requirement of the client was to have a site based on single culture. So, as per the client request we moved forward to design the site multi lingual way.

    So, lets assume we have two languages viz, en and en-GB.

    The cleint required the entire navigation(top nav and left nav) of the site to be a little interactive with jquery. We decided to build the control using SitemapdataSource.

    In earlier version upto 3.7, Sitemapdatasource only contained the data that was enabled to view in navigation(Show in navigation as checked). For the current version, sitemapdatasource returns all records (Dont know the reason why this was done this way).

    The way pages where built was few pages were synced with all transaltions and rest were unsynced. Now, for the purpose of generating the left nav, I can use two objects namely, Sitemapdatasource and pageNodeList.

    The earlier version was en and when I unsync the page, it creates a duplicate copy of the page and inserts the record in the database. So, when I try to pull the record under a specific page, then my navigation binds two records with same name with the selected culture. It is the same with PageNode list as well.

    Please let me know if this is a bug in sitefinity or how can I get the page records of selected language (synced or unsynced) instead of all records.

    The version of sitefinity we are using is 4.2.1733.0.

  2. Siddesh Kapadi
    Siddesh Kapadi avatar
    239 posts
    Registered:
    09 Oct 2009
    07 Mar 2012
    Link to this post
    No answer on this?

    Anyone?

    Regards,
    Siddesh Kapadi
  3. Jen Peleva
    Jen Peleva avatar
    568 posts
    Registered:
    10 Nov 2016
    08 Mar 2012
    Link to this post
    Hello Siddesh,

    Maybe you should consider using SitefinySiteMapDataSource, since it is configured as asp:SiteMapDataSource control to start from a particular node, show the starting node etc... but it also handles the logic for checking granted/denied permissions, ShowInNavigation and so on, so it will return all pages with ShownInNavigation set to true, as you wanted.
    As for your second problem, how do you get the page you're referring to, since when repeating your scenario and using the native and the fluent API to get a page, I only got one record for it, as expected.

    All the best,
    Jen Peleva
    the Telerik team
    Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
  4. Siddesh Kapadi
    Siddesh Kapadi avatar
    239 posts
    Registered:
    09 Oct 2009
    09 Mar 2012
    Link to this post
    Hi Jen,

    Thansk for your response. Please confirm with the development team on asp:SiteMapDataSource
    I am sure that it returns all records with showIn navigation as true.

    For the second resolution you have provided, I tried both the objects SiteMapDataSource and also PageNode List, it returns multiple records for UNSYNCED pages (Does unsyncing create multiple records in DB?) and single record for SYNCED pages.

    Please confirm these again. If it works, please provide me with the working example of the same.

    please try this on version 4.2.1733.0

    Thanks for all you help.
  5. Jen Peleva
    Jen Peleva avatar
    568 posts
    Registered:
    10 Nov 2016
    14 Mar 2012
    Link to this post
    Hi Siddesh,

    I just consulted with my colleagues from the developers team and as I told you in my previous post, SitefinitySiteMapDataSource should return pages with checked ShowInNavigation. However, it seems that there were some serious Multilingual problems with the 4.2 version, so this might cause the SitefinitySiteMapDataSource to return incorrect pages. We advice you to upgrade to Sitefinity 4.3 or higher version, where these problems have been resolved.
    As for your question about Multilingual pages: When you have synchronized translations of a page, those pages represent one page node and this is why in the database you will see one record for them, When you unsynced them, however, they will split into separate records, depending on the number of translations. For example, if you have 2 translations, in the sf_ Page_Node table you should see 2 records with status 2 (Live). In the sf_drafts table you will see the records with status codes 0 and 1, where 0 is master (the masters should be 2 as well) and Temp with code 1, if the page is opened for editing.

    Regards,
    Jen Peleva
    the Telerik team
    Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
5 posts, 0 answered