Arama Sorgusu ile Arama Sayfasına Gitme

Genel bir kullanım senaryosu, içerik yerleşiminde bir bağlantıya tıklandığında dinamik arama sorgusu ile bir arama sayfasına gitmektir.

Örnek olarak, bir arama veri yükü ileterek içerik yerleşiminizdeki "Bu yazandan diğer makaleler" bağlantısına tıklandığında "Yazanlar" adlı bir arama sayfasına gitmek istediğinizi varsayın. Şu kod ile bu başarılır. SCS ve SCSRenderAPI global nesnelerinin bir siteler sayfasında çalışırken içerik yerleşiminde kullanmak üzere uygun olduklarına dikkat edin.

$('.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));

Aynı içerik yerleşiminin aynı sayfada birden fazla kez kullanılmasını bekliyorsanız sınıf seçici yerine Basamaklı Stil Tablosu seçicide benzersiz No kullanmak daha iyidir, örnek $('.more-from-author').click(…).

Örneğin:

template.html
        <div id="{{navigateId}}">….</div>

render.js
        content.navigateId = this.scsData.id + 'detailTrigger';
        $('#' + navigateId).click(…)