Μια κοινή περίπτωση χρήσης είναι να πλοηγηθείτε σε μια σελίδα αναζήτησης με ένα δυναμικό ερώτημα αναζήτησης όταν κάνετε κλικ σε έναν δεσμό μέσα σε μια διάταξη περιεχομένου.
Για παράδειγμα, ας υποθέσουμε ότι θέλετε να πλοηγηθείτε σε μια σελίδα αναζήτησης που ονομάζεται "Συντάκτες» όταν κάνετε κλικ στον δεσμό "Περισσότερα άρθρα από αυτόν τον συντάκτη" στη διάταξη περιεχομένου σας, μεταβιβάζοντας ένα ωφέλιμο φορτίο αναζήτησης. Ο ακόλουθος κώδικας το επιτυγχάνει αυτό. Σημειώστε ότι τα καθολικά αντικείμενα SCS
και SCSRenderAPI
είναι διαθέσιμα για χρήση στη διάταξη περιεχομένου όταν εκτελείται εντός μιας σελίδας τοποθεσίας.
$('.more-from-author').click($.proxy(function () { var childrenPages = SCS.structureMap[SCS.navigationRoot].children; if (!childrenPages) return; // No pages // Find the Authors page for (var i = 0; i < childrenPages.length; i++) { var page = SCS.structureMap[childrenPages[i]]; if (page.name === 'Authors') { var linkData = SCSRenderAPI.getPageLinkData(page.id); if (linkData && linkData.href) { var href = linkData.href, searchPayload = content.author_id + '*', contentType = "Starter-Blog-Post"; // if both the page URL and the search query exists, navigate to the page passing in the query if (href && searchPayload) { var queryStart = href.indexOf('?') === -1 ? '?' : '&'; // add in the contentType and search parameters // contentType isn't a required URL parameter // Payload contains search string only. No parameter name. href += queryStart + (contentType ? 'contentType=' + contentType + '&' : '') + 'q=' + searchPayload; // navigate to the search results page window.location = href; } } } } }, this));
Αν αναμένεται η ίδια διάταξη περιεχομένου να χρησιμοποιηθεί πολλές φορές στην ίδια σελίδα, είναι καλύτερα να χρησιμοποιήσετε το μοναδικό αναγνωριστικό στον επιλογέα CSS αντί για τον επιλογέα κλάσης, όπως $('.more-from-author').click(…)
.
Για παράδειγμα:
template.html <div id="{{navigateId}}">….</div> render.js content.navigateId = this.scsData.id + 'detailTrigger'; $('#' + navigateId).click(…)