Zunächst müssen Sie Ihr eigenes / benutzerdefiniertes Thema erstellen. Erstellen Sie in Ihrem Themenverzeichnis den Ordner Magento_LayeredNavigation (falls noch nicht verfügbar). Kopieren Sie in diesem Ordner die gesamte Vorlagendatei aus dem Kernmodul Magento\LayeredNavigation\view\frontend\templates
in Magento_LayeredNavigation\template
.
Jetzt können Sie das mehrschichtige Navigationsdesign und die Codes überschreiben.
Für die Mehrfachauswahl müssen Sie die URL schreiben. Die unten angegebene Beispielmethode zum erneuten Schreiben von URLs kann gemäß Ihren Anforderungen angepasst werden.
Beispiel Helferfunktion unten angegeben ..
public function getFilterUrls($params,$filter,$value){
$currentCatUrl = $this->getCurrentCatUrl();
unset($params['id']);
unset($params['isAjax']);
unset($params['_']);
//$value = str_replace(',', '', $value);
if (isset($params[$filter])) {
$filterArray = explode(',', $params[$filter]);
$checkValue = in_array($value, $filterArray);
$remVelue = array_diff($filterArray, [$value]);
$remVelue = implode(',', $remVelue);
}
if(isset($params[$filter]) and $params[$filter] == $value){
unset($params[$filter]);
$url = $currentCatUrl . '?' . http_build_query($params);
}elseif (!empty($params[$filter]) && $params[$filter] !== ',' && $params[$filter] !== $value && $checkValue == FALSE) {
$urlValues = $params[$filter];
unset($params[$filter]);
$url = $currentCatUrl . '?' . http_build_query($params) . '&' . $filter . '='.$urlValues.','.$value;
}elseif (isset($params[$filter]) && $params[$filter] !== ',' && $params[$filter] !== $value && $checkValue == TRUE) {
unset($params[$filter]);
$url = $currentCatUrl . '?' . http_build_query($params) . '&' . $filter . '='.$remVelue;
}
else{
unset($params[$filter]);
$url = $currentCatUrl . '?' . http_build_query($params) . '&' . $filter . '=' . $value ;
}
return $url;
}
wo $params = $this->getRequest()->getParams();
AND $ filter ist ein neuer / alter Parametername, den Sie mehrfach auswählen / auswählen möchten.
AND $ value ist der gewünschte Wert für den übergebenen Parameter.
AND $ currentCatUrl URL der aktuellen Kategorie, die Sie aus der Registrierung erhalten.
Rufen Sie die obige Hilfsmethode in Magento_LayeredNavigation \ template \ view.phtml auf .
Magento_LayeredNavigation \ template \ view.phtml ist die Datei, in der Sie die Änderungen für die geschichtete Navigation vornehmen.
Dadurch wird die Filter-URL für Multiselect und Sigle Select zurückgegeben.
Update 1:
Beispiel formatieren
<a href="<?php echo $block->escapeUrl($helper->getFilterUrls($params,'for','1')) ?>">
<input type="checkbox" name="" value="l" id="check1" <?php echo $this->getRequest()->getParam('for')=='1'?'checked':'' ?>>
<label for="check1"> </label> <div class="anchor-text">Men</div>