Berikut ini yaitu beberapa operator pengubah URL yang sanggup Anda gunakan untuk mengubah struktur URL.
path(url, path)
Berfungsi untuk mengubah komponen jalur.
<b:eval expr='path(data.blog.url, "foo.html")'/> <b:eval expr='path(data.blog.url, "/foo.html")'/>
Kode di atas akan menghasilkan ini, bagaimanapun bentuk URL yang sedang aktif ketika itu:
http://nama_blog.blogspot.com/foo.html http://nama_blog.blogspot.com/foo.html
Operator ini juga tidak akan menghilangkan teks kueri yang sudah ada. Anda sanggup mengetesnya dengan cara menyerupai ini:
<b:eval expr='data:blog.url'/> <b:eval expr='path(data:blog.url, "foo.html")'/> <b:eval expr='data:blog.url + "/foo.html"'/> <b:eval expr='data:blog.homepageUrl + "/foo.html"'/>
Kode di atas akan menghasilkan ini ketika Anda mengunjungi blog Anda dengan menambahkan beberapa teks kueri menyerupai http://nama_blog.blogspot.com/search?q=foo
:
http://nama_blog.blogspot.com/search?q=foo http://nama_blog.blogspot.com/foo.html?q=foo http://nama_blog.blogspot.com/search?q=foo/foo.html http://nama_blog.blogspot.com//foo.html
params(url, params)
Berfungsi untuk mengganti teks kueri pada URL atau menambahkannya jikalau belum ada.
<b:eval expr='params(data:blog.url, { foo: "bar", baz: "qux" })'/>
Kode di atas akan menghasilkan ini:
http://nama_blog.blogspot.com?baz=qux&foo=bar
Operator ini tampaknya tidak mendukung teks kueri multi-level:
<!-- ?test=1&test=2&test=3 --> <b:eval expr='params(data:blog.url, { test: [1, 2, 3] })'/>
<!-- ?test=1&test=2&test=3 --> <b:eval expr='params(data:blog.url, { test: {1, 2, 3} })'/>
<!-- ?test=null --> <b:eval expr='params(data:blog.url, { test: { 0: 1, 1: 2, 2: 3 } })'/>
<!-- Invalid expression! --> <b:eval expr='params(data:blog.url, { test[0]: 1, test[1]: 2, test[2]: 3 })'/>
<!-- ?"test[0]"=1&"test[1]"=2&"test[2]"=3 --> <b:eval expr='params(data:blog.url, { "test[0]": 1, "test[1]": 2, "test[2]": 3 })'/>
appendParams(url, params)
Berfungsi untuk menambahkan teks kueri atau mengubah nilai teks kueri yang sudah ada pada URL.
<b:eval expr='params(data:blog.url, { foo: "bar" })'/> <b:eval expr='appendParams(data:blog.url, { foo: "bar" })'/>
Hasilnya akan menjadi menyerupai ini ketika kita berada di halaman pencarian:
http://nama_blog.blogspot.com/search?foo=bar http://nama_blog.blogspot.com/search?foo=bar&q=baz
Seharusnya akan menghasilkan menyerupai pola di atas, tapi sesudah Saya coba sendiri ternyata akhirnya tidak ada bedanya dengan ketika Saya memakai params
. Mungkin ini bug.
fragment(url, fragment)
Berfungsi untuk menyisipkan fragmen URL.
<b:eval expr='fragment(data:blog.url, "foo")'/> <b:eval expr='fragment(data:blog.url, "#foo")'/> <b:eval expr='data:blog.url + "#foo"'/>
Hasilnya akan menjadi menyerupai ini:
http://nama_blog.blogspot.com#foo http://nama_blog.blogspot.com#foo http://nama_blog.blogspot.com#foo
Sumber https://www.dte.web.id/