Navigate between pages

Navigate between pages

 
Hello everyone!

Welcome back to another exciting Kaizen post. In this post, let us see how you can you navigate to different Pages using Client Script. 


In this Kaizen post,
  1. Need to Navigate to different Pages
  2. Client Script ZDKs related to navigation
         A. navigateTo()
         B. navigation_data
  3. Use Case
  4. Solution
  5. Summary
  6. Related Links


1. Need to Navigate to different Module's Pages in Zoho CRM

Often navigation between Module pages is required for improved user experience and streamlined workflows. Seamless transitions between related modules ensure quick access to relevant data and actions, enhancing productivity. For example, whenever the status of Account is updated to "Deal Creation", you can open the Deal Create Page. 

2. ZDKs to navigate to different pages

A. navigateTo()

Using this ZDK method, you can open any modules' detail/create/clone/edit page in a new tab or in same tab. Here is the syntax.



Click here to know more details.

B. navigation_data

Using The Constant , $Page.navigation_data, you can get the data passed from navigateTo() method.



Click here to know more details.

3. Use Case

Zylker is a manufacturing organisation uses Zoho CRM. The admin wants to automatically open the Deal Create Page whenever the status in the Detail Page of Account is "Deal Creation". Also Deal Create Page should have the "Account Name"  prefilled from the Detail Page of Account record."

4. Solution

If the user updates the status to "Deal Creation" in Accounts module you need get confirmation from the user and  open a new Deal Create Page automatically with Account Name prefilled. 

To accomplish this using Client Script, you need to create two Client Scripts. 

A. Client Script for Accounts Module
B. Client Script for Deals Module

A. Client Script for Accounts Module

Create a Client Script for Detail Page of "Accounts" module with the following details and click "Next". To know more about Creating Client Script, click here.


  • In the Client Script IDE, enter the below script and click Save.
  1. var a_name = ZDK.Page.getField("Account_Name").getValue();
  2. var rec_id = $Page.record_id;
  3. if (value == "Deal Creation")
  4. {
  5.     var resp=ZDK.Client.showConfirmation("Do you want to update the status as Deal Creation?");
  6.     if (resp)
  7.     {
  8.         var rec = $Page.record;
  9.         var rec_id = $Page.record_id;
  10.         rec.status = "Deal Creation";
  11.         var response = ZDK.Apps.CRM.Accounts.updateById(rec, rec_id);
  12.         log(response);
  13.  ZDK.Client.navigateTo('record_create', { module: 'Deals', custom_data: {data: a_name,data_id :$Page.record_id}}, '_blank')
  14.     }
  15. }

  • Whenever the status is updated to "Deal Creation" , you can show a Confirmation box using showConfirmation() asking whether the user wants to update the status as "Deal Creation"
  • Then, update the current record's status using updateById(). You can use the $Page, to get the current record id.
  • Then using  navigateTo() method you can open the Deal Create Page from Account Detail Page.
  • As per the following syntax, you should pass the required parameters, which includes the data needed for the Client Script on Deal Page. In this case the data being passed is the Account Name and Id.
  • Syntax : navigateTo(page, params, data, target)
    • page :  record_create denotes that you want to open Create Page.
    • params :  You need to mention the name of the module for which the Create Page has to be opened. In this case it is "Deals". You can also mention the layout_id and record_id in params. For more details, click here.
    • data : "custom_data" hold the data that you want to pass to the Deals Page.
    • target: You can open the page in same tab or in a different tab using "_self" and "_blank" respectively.
B. Client Script for Deals Module

Now, create another Client Script for "Deals" module with the following details and click "Next".



In the Client Script IDE, add the following script and click "Save"

  1. var a = $Page.navigation_data;
  2. if (a!=null);
  3. {
  4. var field_obj1 = ZDK.Page.getField('Account_Name');
  5. field_obj1.setValue({ "id":a.data_id , "name":a.data });
  6. }

To get the data passed in Account Detail Page, you need to use "$Page.navigation_data". In this script you can use setValue() and mention the id and name of "Account Name". As Account Name is a lookup field, you should mention the Id of the Account along with the Account Name.

Here is how the Client Script Works.


Click here to know more details.

Note:

You can open any external URL using Client Script in a new tab using openURL().



Click here to know more details.

5. Summary :

In this post we have discussed,
  • How to pass data from one page to the other using Client Script.
  • How to perform actions after a record is updated.
  • How to update a record using Client Script without clicking on Save button.
  • How to open external URLs using Client Script.
-------------------------------------------------------------------------------------------------------------------

6. Related Links :


-------------------------------------------------------------------------------------------------------------------

Previous Post: Kaizen #141 - Zoho CRM's API Collection in Postman     |     Kaizen Collection: Home
Join us for our upcoming Zoho CRM Developer Series: Zoho CRM APIs, where you can explore more about Zoho CRM APIs. Register Now!  


    Access your files securely from anywhere

        Zoho Developer Community




                                  Zoho Desk Resources

                                  • Desk Community Learning Series


                                  • Digest


                                  • Functions


                                  • Meetups


                                  • Kbase


                                  • Resources


                                  • Glossary


                                  • Desk Marketplace


                                  • MVP Corner


                                  • Word of the Day



                                      Zoho Marketing Automation


                                              Manage your brands on social media



                                                    Zoho TeamInbox Resources

                                                      Zoho DataPrep Resources



                                                        Zoho CRM Plus Resources

                                                          Zoho Books Resources


                                                            Zoho Subscriptions Resources

                                                              Zoho Projects Resources


                                                                Zoho Sprints Resources


                                                                  Qntrl Resources


                                                                    Zoho Creator Resources



                                                                        Zoho Campaigns Resources


                                                                          Zoho CRM Resources

                                                                          • CRM Community Learning Series

                                                                            CRM Community Learning Series


                                                                          • Kaizen

                                                                            Kaizen

                                                                          • Functions

                                                                            Functions

                                                                          • Meetups

                                                                            Meetups

                                                                          • Kbase

                                                                            Kbase

                                                                          • Resources

                                                                            Resources

                                                                          • Digest

                                                                            Digest

                                                                          • CRM Marketplace

                                                                            CRM Marketplace

                                                                          • MVP Corner

                                                                            MVP Corner





                                                                              Design. Discuss. Deliver.

                                                                              Create visually engaging stories with Zoho Show.

                                                                              Get Started Now