Hogyan lehet eltávolítani a% 26 és a% 3D fájlokat az URL-ből?

Ha árakat akarok rendezni (alacsony és magas, illetve magas és alacsony), akkor a linkem nem működik. Az opció értéke “price & product_list_dir = asc”, amely az “price% 26product_list_dir% 3Dasc” kódba kerül. Hogyan tudom dekódolni ezt az URL-t?

Itt van a kódom:

<div class="toolbar-sorter sorter"> <label class="sorter-label" for="sorter"><?php /* @escapeNotVerified */ echo __("Sort by") ?></label> <select data-role="sorter" class="sorter-options selectpicker"> <?php $url = $_SERVER["REQUEST_URI"]; $path = strstr($url, "?"); ?> <option <?php if($path == "?product_list_order=price&product_list_dir=desc"): ?> selected="selected" <?php endif; ?> class="high-low" value="price&product_list_dir=desc"> Price - High to low </option> <option <?php if($path == "?product_list_order=price&product_list_dir=asc"): ?> selected="selected" <?php endif; ?> class="low-high" value="<?php /* @escapeNotVerified */ echo __("price&product_list_dir=asc") ?>"> Price - Low to high </option> </select></div> 

Megjegyzések

  • Mi nem működik? A " kiválasztott " nem megfelelően visszhangzik? Van-e idegen "% 26 és% 3D " a html értékattribútumában, így ez így szól: ' < opció értéke = " price% 26product_list_dir% 3Dasc " > '? Nem változik a rendezési sorrend, miután más típusú rendezést választott? Kérjük, adja meg, hogy mi nem működik, így gyorsabban tudunk segíteni.
  • Ellenőriztem az Elem vizsgálata lehetőséget, és az opció értéke megfelelően visszhangzott. Amikor rákattintok az opcióra, az oldal átirányítja a mysite.com/category.html?product_list_order=price%26product_list_dir%3Dasc webhelyre. De amikor megváltoztatom "% 26 " és "% 3D " " & " és " & " közvetlenül a Címsorba, működik. Úgy tűnik, hogy amikor rákattintok az opcióra, a Magento kódolja az opció értékét az URL-ben

Válasz

“az a böngésző, amely az értéket a várt módon helyesen kódolja”. A biztonságos karakterekért nézze meg a https://perishablepress.com/stop-using-unsafe-characters-in-urls/ elemeket.

Véleményem szerint a legjobb módszer erre csak annyit jelentene, hogy az értéket valami olyasmire állítanánk, mint “price $ product_list_dir! asc” vagy “price + dir-desc” vagy csak “price_desc”, és a termékben a product_list_order értékét elemeznénk. További lehetőségek a következők:

  • A menü felosztása két legördülő menüre (termék_lista_rendezés és termék_lista_könyvtár)
  • Frissítse az URL-t javascript-tel, amikor a legördülő kiválasztás megváltozik

megjegyzések

  • köszönöm. Hozzáadtam az onChange = " window.document.location.href = this.options [this.selectedIndex] .value; " elemet a kiválasztáshoz és < script type = " text / javascript " > jQuery (function ($) {$ (' select ') .on (' change ', function () {var url = $ (this) .val (); if (url) {window.location = url;} false =} );}); < / script > Most ' működik. Köszönöm

Válasz

változtassa meg ezt echo __("price&product_list_dir=asc") erre echo "price&product_list_dir=asc"

Megjegyzések

  • Köszönöm a segítséget, de ' s nem működik

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük