Skip to main content

Documentation Index

Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt

Use this file to discover all available pages before exploring further.

Produkt auf die Merkliste setzen Button in der Produktbox

Fügen Sie die Form in die Produktbox außerhalb der Form ‘zur Produktdetailsicht’ ein.
{{ var $cActionWatchListItemAdd = $wsActions.create("WatchListItemAdd") }}
{{ var $cActionWatchListItemDelete = $wsActions.create("WatchListItemDelete") }}

{{ var $cProductIsInWatchList = false }}
{{ var $cWatchListItemId = "" }}

{{ foreach $cWatchListItem in $wsWatchList.items }}
	{{ if $cWatchListItem.product.id == $cProduct.id }}
		{{ $cProductIsInWatchList = true}}
		{{ $cWatchListItemId = $cWatchListItem.id }}
	{{ /if }}
{{ /foreach }}

<div>
  ...
  <form action="{{= $wsViews.current.url() }}" method="post">
     <input type="hidden" name="wsact" value="{{= $cBasketAdd.id }}">
     <input type="hidden" name="wscsrf" value="{{= $cBasketAdd.csrf }}">
     <input type="hidden" name="wstarget" value="{{= $wsViews.current.url() }}">
     <input type="hidden" name="productId" value="{{= $cProduct.id }}">
   </form>
   ...
  <form id="wsFormWatchlist-{{= $cProduct.id }}" method="post" action="{{= $wsViews.current.url() }}" ws-ajax-form>
     <input type="hidden" name="wsReplaceIds" value="wsFormWatchlist-{{= $cProduct.id }},wsMemolistEntries,wsMemolistOffcanvasContent">
     <input type="hidden" name="wscsrf" value="{{= $cActionWatchListItemAdd.csrf }}">
     <input type="hidden" name="wstarget" value="{{= $wsViews.current.url() }}">
     <input type="hidden" name="productId" value="{{= $cProduct.id }}">
     {{ if $cProductIsInWatchList }}
        <input type="hidden" name="wsact" value="{{= $cActionWatchListItemDelete.id }}">
        <input type="hidden" name="watchListItemId" value="{{= $cWatchListItemId }}">
     {{ else }}
        <input type="hidden" name="wsact" value="{{= $cActionWatchListItemAdd.id }}">
     {{ /if }}
     <button type="submit">
        {{ if $cProductIsInWatchList }}
           Produkt ist auf der Merkliste
        {{ else }}
            Auf die Merkliste
        {{ /if }}
     </button>
  </form>
  ...
</div>

Button im Header

Mit Klick auf den Button wird die Merkliste im offcanvas geladen
<button type="button" title="Merkliste" data-bs-toggle="offcanvas" data-bs-target="#wsMemolistOffcanvas">
  Merkliste
   <span id="wsMemolistEntries">
      {{ if $wsWatchList.items }}{{= $wsWatchList.items | len }}{{ /if }}
   </span>
</button>

Offcanvas Merkliste

<div class="offcanvas offcanvas-end" tabindex="-1" id="wsMemolistOffcanvas">
   <div class="offcanvas-header">
      <p>Merkliste</p>
      <button type="button" data-bs-dismiss="offcanvas">Schließen</button>
   </div>
   <div class="offcanvas-body">
      <div id="wsMemolistOffcanvasContent">
         {{ if $wsWatchList.items }}
            {{ foreach $cProduct in $wsWatchList.items }}
               {{ var $cProductDelete = $wsActions.create("WatchListItemDelete", tag = $cProduct.id) }}	
               <a href="{{= $wsViews.url('Product', {productId: $cProduct.product.id}) }}">
                  <img src="{{= $cProduct.product.custom.image.normal | ifNull(static('images/noImageThumbnail.jpg')) }}">
               </a>
               {{= $cProduct.product.name }}
               {{ if $cProduct.product.variantSelection }}
                  {{ foreach $cVarAttr in $cProduct.product.variantSelection | keys }}
                     {{= $cVarAttr}}: {{= $cProduct.product.variantSelection[$cVarAttr] }}
                  {{ /foreach }}
               {{ /if }}
               {{= $cProduct.product.price | currency }}
               <form id="wsFormWatchlistDeleteProductOffcanvas-{{= $cProduct.id }}" action="{{= $wsViews.current.url() }}" method="post" ws-ajax-form>
                  <input type="hidden" name="wsReplaceIds" value="wsFormWatchlist-{{= $cProduct.product.id }},wsWatchlistWrapper,wsMemolistEntries,wsMemolistOffcanvasContent">
                  <input type="hidden" name="wscsrf" value="{{= $cProductDelete.csrf }}">
                  <input type="hidden" name="wsact" value="{{= $cProductDelete.id }}">
                  <input type="hidden" name="wstarget" value="{{= $wsViews.current.url() }}">
                  <input type="hidden" name="productId" value="{{= $cProduct.product.id }}">
                  <input type="hidden" name="watchListItemId" value="{{= $cProduct.id }}">
                  <button type="submit">Von Merkliste löschen</button>
               </form>
            {{ /foreach }}
            <a href="{{= $wsViews.viewUrl('account/watchlist.htm') }}">Merkliste ansehen</a>
         {{ else }}
            Sie haben keine Produkte auf der Merkliste!
         {{ /if }}
      </div>
   </div>
</div>