www.watchcod-de.shop Open in urlscan Pro
2606:4700::6811:f677  Public Scan

Submitted URL: https://watchcod-de.shop/products/rolex-126231-0028_91590734-oa99?aid=smart_recommend.5.436013898202658101&ifb=f88463c6-b...
Effective URL: https://www.watchcod-de.shop/products/rolex-126231-0028_91590734-oa99?aid=smart_recommend.5.436013898202658101&ifb=f88463c6-b...
Submission: On October 26 via api from US — Scanned from DE

Form analysis 4 forms found in the DOM

<form class="product-info product-info-031062b3-4b00-4cc0-9a82-41384917962c col-12 col-md-6 properties">
  <div class="product-info__header">
    <div class="product-info__vendor dj_skin_product_list_title">mysite</div>
    <h1 class="product-info__header_title dj_skin_product_title">Rolex Datejust 36, 126231-0028</h1>
    <div class="product-info__header_price-wrapper">
      <div class="product-info__header_price-wrapper-left">
        <span class="product-info__header_price dj_skin_product_detail_price money notranslate"> €100.00 </span>
        <span class="product-info__header_compare-at-price dj_skin_product_compare_at_price money notranslate"> €2,188.00 </span>
      </div>
    </div>
    <div class="bootstrap">
      <div class="plugin__wrappers d-flex flex-column"></div>
    </div>
  </div>
  <input type="hidden" name="product_id" value="031062b3-4b00-4cc0-9a82-41384917962c">
  <input type="hidden" name="variant_id" id="selected_variant_id_031062b3-4b00-4cc0-9a82-41384917962c" value="33854afc-c2a8-40c1-afac-9789e725fc06">
  <div class="product-info__body">
    <div class="product-info__variants ">
    </div>
    <div class="product-info__qty_container">
      <div class="qty-title product-info__qty_title">Qty <span class="product-info__qty_stock" style="display: inline;">
        </span>
      </div>
      <div class="product-info__qty notranslate">
        <button type="button" class="btn product-info__qty_btn product-info__qty_decr" data-click="decrease" disabled=""> - </button>
        <input id="product_quantity_031062b3-4b00-4cc0-9a82-41384917962c" class="form-control product-info__qty_num" type="text" value="1" name="quantity">
        <button type="button" class="btn product-info__qty_btn product-info__qty_incr" data-click="increase"> + </button>
      </div>
    </div>
  </div>
  <div class="product-info__btn product-info__btn_2">
    <button type="button" class="btn btn-secondary" data-click="addToCart" data-track="click" data-track-content="add_to_cart" data-track-source="add_to_cart"> Add to Cart </button>
    <button type="button" class="btn btn-primary  " data-click="submit" data-track="click" data-track-content="checkout" data-track-source="buy_now">Buy Now</button>
  </div>
  <div class="product-info__social-sharing notranslate">
    <a target="_blank" href="//www.facebook.com/sharer.php?u=https://www.watchcod-de.shop/products/rolex-126231-0028_91590734-oa99" class="share-facebook dj_skin_text">
              <i class="sep-font sep-font-facebook"></i>
              <span class="share-title" aria-hidden="true">Share</span>
            </a>
    <a target="_blank" href="//twitter.com/share?text=Rolex%20Datejust%2036%2C%20126231-0028&amp;url=https://www.watchcod-de.shop/products/rolex-126231-0028_91590734-oa99" class="share-twitter dj_skin_text">
              <i class="sep-font sep-font-twitter"></i>
              <span class="share-title" aria-hidden="true">Tweet</span>
            </a>
    <a target="_blank" href="//pinterest.com/pin/create/button/?url=https://www.watchcod-de.shop/products/rolex-126231-0028_91590734-oa99&amp;media=//img.fantaskycdn.com/b3340978fecb5f5950b79bdaeee12078_1024x1024.jpeg&amp;description=Rolex%20Datejust%2036%2C%20126231-0028" class="share-pinterest dj_skin_text">
              <i class="sep-font sep-font-pinterest"></i>
              <span class="share-title" aria-hidden="true">Pin it</span>
            </a>
  </div>
</form>

<form class="zb-flex zb-flex-col zb-relative zb-w-full">
  <div class="zb-overflow-y-auto zb-pb-[100px]">
    <div class="zb-flex zb-items-center zb-pb-4 zb-border-b zb-border-t-0 zb-border-l-0 zb-border-r-0 zb-border-solid zb-border-[#eee] md:zb-border-none"> <ljs-render layout="container"
        class="zb-flex-shrink-0 zb-w-[66px] zb-mr-4 rtl:zb-ml-4 rtl:zb-mr-0 zb-h-[70px] md:zb-hidden" id="smart_recommend_product_image" manual="" template="smart_recommend_product_image_template"></ljs-render>
      <div class="zb-w-full">
        <div class="zb-line-clamp-2 zb-mb-2 zb-text-sm md:zb-text-base">${product.title}</div>
        <div class="zb-flex zb-justify-between zb-items-center"> <spz-render layout="container" template="smart_recommend_price_template" id="smart_recommend_modal_price" manual="">
            <div class="zb-flex zb-items-center"> <ljs-currency class="zb-font-semibold zb-text-[22px] zb-text-[#CD201A] zb-mr-2" layout="container" value="${product.min_price_variant.price}"></ljs-currency> <ljs-currency
                class="zb-text-[#93989D] zb-text-xs zb-line-through" layout="container" value="${product.min_price_variant.compare_at_price}"
                spz-if="${product.min_price_variant.compare_at_price > product.min_price_variant.price ? true : false}"></ljs-currency> </div>
          </spz-render>
          <a class="zb-flex zb-items-center zb-cursor-pointer zb-text-[#212B36] zb-no-underline" href="${product.url}?${toQuery({ aid: 'smart_recommend.' + data.show_type + '.' + data.rule_id, ifb: product.ifb || '', cfb: product.cfb || '', scm: data.scm || '', ssp: data.ssp || '' })}"> <span class="zb-text-[13px]">See detail</span> <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"><path d="M13.1714 12.0007L8.22168 7.05093L9.63589 5.63672L15.9999 12.0007L9.63589 18.3646L8.22168 16.9504L13.1714 12.0007Z" fill="#93989D"></path></svg> </a>
        </div>
      </div>
    </div> <ljs-variants id="smart_recommend_product_variants" layout="container" template="smart_recommend_product_variant_template" slide="smart_recommend_carousel" disabled-dj-event="" interference=""> </ljs-variants>
    <div class="zb-text-sm zb-mb-2">Quantity</div> <ljs-quantity disabled-dj-event="" layout="fixed" width="150" height="52" min="1" max="999999" value="1" input-class="!zb-text-base" icon-class="!zb-p-3"></ljs-quantity>
  </div>
  <div class="zb-absolute zb-bottom-0 zb-flex md:zb-flex-col zb-w-full zb-bg-white"> <button
      class="zb-flex zb-items-center zb-mr-2 rtl:zb-ml-2 rtl:zb-mr-0 md:zb-mb-2 zb-justify-center zb-cursor-pointer zb-w-full zb-border zb-border-solid zb-border-[#313131] zb-bg-white zb-rounded zb-h-[42px]" role="addToCart" type="button"
      @tap="smart_recommend_func.addATCHook(rule_id='${data.rule_id}',ifb='${product.ifb}',cfb='${product.cfb}',scm='${data.scm}',ssp='${data.ssp}',spmIndex='${data.productIndex}');"> <span>Add To Cart</span> </button> <button
      class="zb-flex zb-items-center zb-justify-center zb-cursor-pointer zb-w-full zb-bg-[#292929] zb-text-white zb-rounded zb-h-[42px] zb-border-none" type="button" role="buyNow"
      @tap="smart_recommend_loading.showLoading;smart_recommend_func.addATCHook(rule_id='${data.rule_id}',ifb='${product.ifb}',cfb='${product.cfb}',scm='${data.scm}',ssp='${data.ssp}',spmIndex='${data.productIndex}');"> <span>Buy Now</span> </button>
  </div>
</form>

<form class="">
  <div class="zb-flex">
    <a href="${product.url}?${toQuery({ aid: 'smart_recommend.2.' + data.id, ifb: product.ifb || '', cfb: product.cfb || '', scm: product.scm || data.scm || '', ssp: data.ssp || '' })}" impr="1" imprevt="1" class="zb-w-[132px] zb-mr-4 rtl:zb-ml-4 rtl:zb-mr-0" data-prdct="${product.id}" data-ifb="${product.ifb || ''}" data-cfb="${product.cfb || ''}" data-scm="${product.scm || data.scm || ''}" data-spm="${productIndex}"> <ljs-render layout="container" id="smart_cart_pop_image_${product.id}" template="smart_cart_pop_image_template" manual=""></ljs-render> </a>
    <div class="zb-flex zb-flex-col zb-flex-grow zb-justify-between">
      <div>
        <div class="zb-line-clamp-2 zb-text-sm zb-mb-2">${product.title}</div> <ljs-render layout="container" id="smart_cart_pop_price_${product.id}" template="smart_cart_pop_price_template" manual=""></ljs-render>
      </div>
      <div>
        <div class="zb-relative zb-w-full zb-cursor-pointer">
          <div class="zb-border zb-border-solid zb-border-[#eee] zb-px-3 zb-py-[10px] zb-flex zb-items-center zb-justify-between zb-font-semibold zb-text-sm zb-rounded-sm"
            @tap="smart_pop_variant-select-${product.id}.toggleClass(class=zb-rotate-180);smart_cart_pop_variant_${product.id}_mobile.toggleClass(class=zb-hidden);smart_cart_pop_variant_${product.id}_pc.toggleClass(class=smart_cart_pop_variant_pc_show,force=true);smart_cart_pop_variant_modal_${product.id}.open"
            spz-if="${!!(product.options &amp;&amp; product.options.length &amp;&amp; product.options.length > 0) &amp;&amp; data.config.variant_select_visible}"> <ljs-render manual="" layout="container" id="smart_cart_pop_variant_text_${product.id}"
              template="smart_cart_pop_variant_text_template"></ljs-render> <svg id="smart_pop_variant-select-${product.id}" width="12" height="8" class="zb-ml-2" viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <path
                d="M6.00002 7.06738C6.19244 7.06775 6.38498 6.99453 6.5318 6.84772C6.54504 6.83447 6.55769 6.82086 6.56973 6.8069L11.1251 2.25152C11.418 1.95863 11.418 1.48375 11.1251 1.19086C10.8322 0.897968 10.3573 0.897968 10.0645 1.19086L6.00003 5.25529L1.9356 1.19086C1.64271 0.897968 1.16784 0.897968 0.874943 1.19086C0.58205 1.48375 0.58205 1.95863 0.874943 2.25152L5.43033 6.8069C5.44237 6.82086 5.45502 6.83447 5.46826 6.84772C5.61507 6.99453 5.8076 7.06775 6.00002 7.06738Z"
                fill="#0A1533"></path>
            </svg> </div> <ljs-lightbox layout="nodisplay" disable-unmount="" class="smart_cart_pop_lightbox_pc" id="smart_cart_pop_variant_modal_${product.id}" @close="smart_pop_variant-select-${product.id}.toggleClass(class=zb-rotate-180);">
            <div id="smart_cart_pop_variant_${product.id}_pc" class="zb-hidden"><ljs-variants id="smart_cart_pop_variants_${product.id}"
                class="md:!zb-absolute md:zb-top-[50px] md:zb-w-full md:zb-left-0 md:zb-z-30 md:zb-bg-white zb-max-h-[280px] zb-overflow-y-auto md:zb-shadow-pop" layout="container" template="smart_cart_pop_variant_template"
                onclick="event.stopPropagation()" disabled-dj-event="" interference=""> </ljs-variants></div>
          </ljs-lightbox>
        </div>
        <div class="zb-mt-3"> <button product-id="${product.id}" id="smart_cart_pop_atc_btn_${product.id}"
            class="zb-flex zb-items-center zb-justify-center zb-w-full zb-text-white zb-py-[10px] zb-h-9 zb-text-xs zb-font-normal zb-border-none zb-rounded-[4px] smart_cart_pop_atc_btn_bg" type="button" role="addToCart"
            @tap="smart_cart_pop_loading_${product.id}.toggleClass(class=zb-hidden);smart_cart_pop_atc_${product.id}.toggleClass(class=zb-hidden);smart_cart_pop_atc_btn_${product.id}.toggleClass(class=zb-pointer-events-none);custom-func.addATCHook(activity_id='${data.id}',ifb='${product.ifb}',cfb='${product.cfb}',scm='${product.scm || data.scm}',ssp='${data.ssp}',spm='${data.spmBase}.${productIndex}')">
            <ljs-render layout="container" id="smart_cart_pop_atc_${product.id}" template="smart_cart_pop_atc_template" mamual="" class="notranslate"> </ljs-render>
            <div id="smart_cart_pop_added_${product.id}" class="zb-hidden"><span class="zb-flex zb-justify-center zb-gap-1"><svg width="14" height="15" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
                  <path
                    d="M8 16.5006C3.58171 16.5006 0 12.9183 0 8.5C0 4.08171 3.58171 0.5 8 0.5C12.4183 0.5 16 4.08171 16 8.5C16 12.9183 12.4183 16.5006 8 16.5006ZM8 2.04344C4.21314 2.04344 1.54287 4.71371 1.54287 8.50057C1.54287 12.2874 4.21314 14.9577 8 14.9577C11.7869 14.9577 14.4571 12.2874 14.4571 8.50057C14.4571 4.71371 11.7869 2.04344 8 2.04344ZM7.26057 11.1909L7.12229 11.3286L7.09543 11.3017C7.02286 11.336 6.94286 11.3577 6.85714 11.3577C6.73543 11.3577 6.62857 11.3109 6.536 11.2463L6.52229 11.2594L6.45371 11.1909C6.45314 11.1903 6.45314 11.1903 6.45257 11.1897L4.09771 8.83486L4.90629 8.02686L6.85714 9.97771L11.1629 5.67143L11.9714 6.48L7.26171 11.1897C7.26114 11.1903 7.26114 11.1903 7.26057 11.1909Z"
                    fill="white"></path>
                </svg>Added</span></div>
            <div id="smart_cart_pop_loading_${product.id}" class="zb-hidden">
              <div class="smart_cart_pop_loading"></div>
            </div>
          </button> </div>
      </div>
    </div>
  </div>
  <div id="smart_cart_pop_variant_${product.id}_mobile" class="zb-hidden md:zb-hidden"><ljs-variants id="smart_cart_pop_variants_${product.id}"
      class="md:!zb-absolute md:zb-top-[50px] md:zb-w-full md:zb-left-0 md:zb-z-30 md:zb-bg-white zb-max-h-[280px] zb-overflow-y-auto md:zb-shadow-pop" layout="container" template="smart_cart_pop_variant_template" onclick="event.stopPropagation()"
      disabled-dj-event="" interference=""> </ljs-variants></div>
</form>

POST //translate.googleapis.com/translate_voting?client=te

<form id="goog-gt-votingForm" action="//translate.googleapis.com/translate_voting?client=te" method="post" target="votingFrame" class="VIpgJd-yAWNEb-hvhgNd-aXYTce"><input type="text" name="sl" id="goog-gt-votingInputSrcLang"><input type="text"
    name="tl" id="goog-gt-votingInputTrgLang"><input type="text" name="query" id="goog-gt-votingInputSrcText"><input type="text" name="gtrans" id="goog-gt-votingInputTrgText"><input type="text" name="vote" id="goog-gt-votingInputVote"></form>

Text Content

The delivery time is approx. 5-7 days
0

Powered by Google Übersetzer
Deutsch,English,Italiano,français,español
0
 * Login
 * Register



All Rolex

--------------------------------------------------------------------------------

Rolex-Oyster-Perpetual-1

--------------------------------------------------------------------------------

Rolex-Sea-Dweller

--------------------------------------------------------------------------------

Rolex-sky-dweller

--------------------------------------------------------------------------------

Rolex GMT Master

--------------------------------------------------------------------------------

Rolex Submariner

--------------------------------------------------------------------------------

Rolex Yacht Master

--------------------------------------------------------------------------------

Rolex explorer

--------------------------------------------------------------------------------

Rolex-daytona

--------------------------------------------------------------------------------

Rolex-datejust

--------------------------------------------------------------------------------

Login

--------------------------------------------------------------------------------

Register

Deutsch,English,Italiano,français,español

Il nostro negozio di riparazione e servizio completo di orologi Rolex

I nostri orologi sono tutti standard e marcati. I prodotti nella confezione
originale possono essere restituiti se non sei soddisfatto entro 15 giorni.
Acquista con fiducia, supportiamo il pagamento in contrassegno.



1 / 1
mysite


ROLEX DATEJUST 36, 126231-0028

€100.00 €2,188.00

Qty
- +
Add to Cart Buy Now
Share Tweet Pin it
Product Description Reviews
Product Description
Rolex Perpetual Datejust 36 Watch, Two-Tone: Stainless Steel & 18k Everose Gold.
Rosé-colour dial, Fluted bezel and Oyster Bracelet, 126231-0028.

Rolex Datejust 36 Two-Tone: Stainless Steel & 18k Everose Gold. Rosé colour dial
2/ 10 Factory set Diamonds. The hour markers Roman: VI and IX in 18 ct gold, set
with 24 diamonds and scratch-resistant sapphire & cyclops lens over the date.
The Watch comes with Mechanical Self-winding Movement & 3235 Calibre w/ 31
jewels & 70 hours power reserve. The Bracelet is Oyster Everose Rolesor &
Stainless Steel. With Folding Oysterclasp with Easylink 5mm comfort extension
link. The Waterproof is 100m/330 feet. The Watch is with a Rolex Watch box,
Rolex Warranty Card. Covered with Rolex Warranty.


SPECIFICATIONS:MakeRolexModelDatejust 36Reference126231-0028MODEL CASEModel
caseOyster, 36 mm, Oystersteel and Everose goldOyster architectureMonobloc
middle case, screw-down case back and winding crownDiameter36 mmMaterialEverose
Rolesor - a combination of Oystersteel and 18 ct Everose goldBezelFlutedWinding
crownScrew-down, Twinlock double waterproofness systemCrystalScratch-resistant
sapphire, Cyclops lens over the dateWater-resistanceWaterproof to 100 metres /
330 feetMOVEMENTMovementPerpetual, mechanical, self-windingCalibre3235,
Manufacture RolexPrecision-2/+2 sec/day, after casingFunctionsCentre hour,
minute and seconds hands. Instantaneous date with rapid setting. Stop-seconds
for precise time settingOscillatorParamagnetic blue Parachrom hairspring.
High-performance Paraflex shock absorbersWindingBidirectional self-winding via
Perpetual rotorPower reserveApproximately 70 hoursBRACELETBraceletOyster, flat
three-piece linksBracelet materialEverose Rolesor - a combination of Oystersteel
and 18 ct Everose goldClaspFolding Oysterclasp with Easylink 5 mm comfort
extension linkDIALDialRosé colour set with diamondsGem-SettingRoman VI and IX in
18 ct gold, set with 24 diamondsCERTIFICATIONSuperlative Chronometer (COSC +
Rolex certification after casing)WATCH LABEISwiss MadeWHAT IS
INCLUDEDBoxOriginal Rolex Watch boxBookletsYesWarrantyBalance of Rolex 5-year
Warranty


Reviews

${function(){ const rules = data.data.rules; return `

` }()}
You May Also Like
 * ROLEX Yacht-Master Automatic Chronometer Diamond 'HARIBO' WatchItem No.
   116695 SATS
   
   Quick Shop
 * Rolex 116508 Cosmograph Daytona "Green Dial"
   
   Quick Shop
 * ROLEX 124060 SUBMARINER 41 "BRAND NEW"
   
   Quick Shop
 * Rolex Datejust 31 Rosé Dial Diamond Bezel Rose Gold Two Tone Jubilee Watch
   278381RBR 278381
   
   Quick Shop
 * Rolex Datejust 31 Silver Diamond Oyster Bracelet Watch 178384-0017
   
   Quick Shop
 * Rolex GMT-Master II Pepsi Blue Dial Reference # 126719blro-0003
   
   Quick Shop
 * Rolex Datejust 31 Pink Roman Numeral Oyster Bracelet Ladies Watch 178274-0076
   
   Quick Shop
 * Rolex 116589 Cosmograph Daytona "Brand New" "Fully Stickered"
   
   Quick Shop
 * Rolex Datejust 36, 126203-0029
   
   Quick Shop
 * Rolex Day-Date 40 Presidential Champagne dial, Fluted Bezel, President
   bracelet, Yellow gold Watch 228238-0003
   
   Quick Shop
 * Rolex Datejust 31 Dark Grey Diamonds Dial Diamond Bezel Yellow Gold Two Tone
   Watch 278383RBR 278383
   
   Quick Shop
 * Rolex Datejust 31 Rosé Roman Dial Diamond Bezel Rose Gold Two Tone Watch
   278381RBR 278381
   
   Quick Shop
 * Rolex 126613LN Submariner Date 41mm "New Release" 5 Year Rolex Warranty
   
   Quick Shop
 * Rolex Datejust 31 Champagne Dial Diamond Bezel Yellow Gold Two Tone Watch
   278343RBR 278343 NP
   
   Quick Shop
 * Rolex 226570 Explorer II 'New Card' Rolex Warranty to 2025
   
   Quick Shop
 * Rolex Datejust 36 Blue Dial Automatic Jubilee Watch 126234
   
   Quick Shop
 * Rolex Datejust 36mm, Ref. # 126234-0045
   
   Quick Shop
 * Rolex Perpetual Submariner Date 41mm Blue Dial Yellow Gold 126618LB
   
   Quick Shop
 * Rolex's latest rose gold water ghost
   
   Quick Shop
 * Rolex Datejust 31 Silver Diamond Dial Fluted Bezel 18K Yellow Gold Two Tone
   Watch 278273 NP
   
   Quick Shop
 * Rolex Datejust 31 Champagne Dial Fluted Bezel 18K Yellow Gold Two Tone Watch
   278273 NP
   
   Quick Shop
 * Rolex Cosmograph Daytona m116518ln Series
   
   Quick Shop
 * Rolex Datejust 31 Dark rhodium Index Dial Diamond Bezel Rose Gold Two Tone
   Watch 278341RBR 278341
   
   Quick Shop
 * ROLEX 126613LB SUBMARINER DATE 41 "BRAND NEW"
   
   Quick Shop
 * Rolex Datejust 41, 126303-0014
   
   Quick Shop
 * Rolex Sky-Dweller 42 mm Ref. # 326235-0005
   
   Quick Shop
 * Rolex Cosmograph Daytona Black Yellow Gold Mens Watch 116518LN-0043
   
   Quick Shop
 * Rolex's latest rose gold water ghost
   
   Quick Shop
 * Rolex MILGAUSS Oyster, 40 mm, Oystersteel M116400GV-0002
   
   Quick Shop
 * Rolex Sky Dweller Black Dial 18K White Gold Bezel Steel Jubilee Men's Watch
   326934
   
   Quick Shop
 * Rolex White Gold Daytona 116509 Steel and Black-44mm
   
   Quick Shop
 * Rolex 116518LN Daytona Limoncello - Brand New
   
   Quick Shop
 * Rolex Datejust 41 Silver Dial Oyster Bracelet Watch 126334-0003
   
   Quick Shop
 * Rolex Cosmograph Daytona Ref. # 116518ln-0042
   
   Quick Shop
 * ROLEX Pearlmaster 39 Diamond Pave Dial Pearlmaster Bracelet 18K Rose Gold
   Watch 86405RBR
   
   Quick Shop
 * Rolex Oyster Perpetual Explorer II 42mm m216570-0002
   
   Quick Shop
 * Rolex Day-Date 36 Pink Jubilee Diamonds Dial President Everose Gold Watch
   118205
   
   Quick Shop
 * Rolex 116713LN GMT-Master II "Gold & Steel" "NOS" Complete Set
   
   Quick Shop
 * Rolex Datejust 28 Silver set with diamonds Dial Diamond Bezel Yellow Gold
   Ladies Watch 279383RBR 279383
   
   Quick Shop
 * Rolex Cosmograph Daytona White Mother of Pearl Dial Diamond Dial Oysterflex
   Strap Mens Watch 116519LN 116519
   
   Quick Shop
 * Rolex Day Date 36 White Roman Dial President Men's Watch 118206
   
   Quick Shop
 * Rolex GMT-Master II Root Beer Rose Gold 126715CHNR
   
   Quick Shop
 * Rolex Datejust 31 Rhodium Large VI set with diamonds Dial Fluted Bezel 18K
   Everose Gold Two Tone Watch 278271
   
   Quick Shop
 * Rolex GMT-Master II 40mm Root Beer Black Dial Oyster Bracelet 18k Rose Gold
   Watch 126715chnr-0001
   
   Quick Shop
 * Rolex Day-Date 36 Champagne Diamond Dial Gold Diamond Bezel Watch
   128348RBR-0008 128348RBR
   
   Quick Shop
 * Rolex Daytona 116589TBR "Eye of the Tiger" White Gold UNWORN
   
   Quick Shop
 * Rolex 116518LN Cosmograph Daytona "Brand new' Yellow Gold Oysterflex
   
   Quick Shop
 * Rolex Datejust 31 Elegant Women's Watch 178344-0003
   
   Quick Shop
 * Rolex Datejust 41 Blue Dial Men's Watch 126334-0002
   
   Quick Shop
 * Rolex Datejust 36 Bright Blue Motif Dial Jubilee Watch 126200
   
   Quick Shop
 * Rolex GMT Master II Pepsi Black Dial Stainless Steel Mens Watch
   126710blro-0001
   
   Quick Shop
 * Rolex Datejust 28 Champagne Diamond Star Dial Diamond Bezel Yellow Gold
   Ladies Watch 279383RBR 279383
   
   Quick Shop
 * Rolex Cosmograph Daytona Champagne Yellow Gold Oysterflex Strap Mens Watch
   116518LN 116518
   
   Quick Shop
 * Rolex COSMOGRAPH DAYTONA Oyster, 40 mm, Everose gold m116515ln-0055
   
   Quick Shop
 * Rolex Cosmograph Daytona 40mm, Ref. # 116509-0073
   
   Quick Shop
 * Rolex 126618LB Submariner Date 41 "Royal Blue" Rolex Warranty to 2026
   
   Quick Shop
 * Rolex Submariner Ceramic 41 mm Ref. # 126610lv-0002
   
   Quick Shop
 * Rolex GMT-Master II 40 mm Oystersteel Men's Watch 126720VTNR-0001
   
   Quick Shop
 * ROLEX WHITE GOLD SMURF SUBMARINER WATCH REF. 116619
   
   Quick Shop
 * Rolex Cosmograph Daytona Champagne Dial 18kt Yellow Gold Oyster bracelet
   Men's Watch 116508-0003
   
   Quick Shop
 * Rolex Datejust 31 Champagne Dial Diamond Bezel Jubilee Yellow Gold Two Tone
   Watch 278343RBR 278343 NP
   
   Quick Shop
 * Rolex Yacht-Master 42 Black Dial 18k Yellow Gold Men's Watch 226658
   
   Quick Shop
 * Rolex Datejust 41 Green Dial Oystersteel and White Gold Men's Watch 126334
   
   Quick Shop
 * Rolex Datejust 36 White Dial Automatic Jubilee Watch 126200
   
   Quick Shop
 * Rolex Datejust 31 White Roman Dial Diamond Bezel Jubilee Yellow Gold Two Tone
   Watch 278343RBR 278343 NP
   
   Quick Shop
 * Rolex Yacht-Master II 18k Yellow Gold Men's Luxury Watch 116688
   
   Quick Shop
 * Rolex Datejust 31 Rose Diamond Dial Fluted Bezel 18K Everose Gold Two Tone
   Watch 278271
   
   Quick Shop
 * Rolex 126233 Datejust 36 'Gold & Steel' Latest Model
   
   Quick Shop
 * Rolex Datejust 36, 126203-0015
   
   Quick Shop
 * Rolex Yacht-Master II Luxury Men's Watch 116681-0002
   
   Quick Shop
 * Rolex Datejust 41, 126303-0013
   
   Quick Shop
 * ROLEX 116500LN COSMOGRAPH DAYTONA "CERACHROM" "NEW STYLE WARRANTY CARD"
   
   Quick Shop
 * Rolex Day-Date 40 Presidential White dial, Fluted Bezel, President bracelet,
   Yellow gold Watch
   
   Quick Shop
 * Rolex Oyster Perpetual Datejust 41 Watch 126333-0010
   
   Quick Shop
 * ROLEX 116622 YACHT-MASTER "PLATINUM BEZEL" ROLEX WARRANTY TO 2023
   
   Quick Shop
 * Rolex Day-Date 36 Champagne Dial President Yellow Gold Watch 118208
   
   Quick Shop
 * Rolex 116509 Cosmograph Daytona "Brand New" "Fully Stickered" White Gold
   
   Quick Shop
 * Rolex Datejust 31 Olive Green Diamond Dial Fluted Bezel 18K Yellow Gold Two
   Tone Watch 278273 NP
   
   Quick Shop
 * Rolex Datejust 36 Dark Rhodium Dial Fluted Bezel Watch 126231-0023
   
   Quick Shop
 * Rolex Datejust 41, 126300-0013
   
   Quick Shop
 * Rolex Cosmograph 116588TBR Daytona Eye of Tiger
   
   Quick Shop
 * Rolex Explorer I 36 Black Dial Yellow Gold Stainless Steel Men's Watch 124273
   
   Quick Shop
 * Rolex Datejust 36, 126233-0026
   
   Quick Shop
 * Rolex Datejust 36, 126233-0025
   
   Quick Shop
 * ROLEX Yacht-Master II Men's Watch 116688-0002
   
   Quick Shop
 * Rolex Datejust 41, 126334-0023
   
   Quick Shop
 * Rolex Datejust 41, 126334-0013
   
   Quick Shop
 * Rolex Datejust 41 Blue Fluted Dial Jubilee Men's Watch 126300 126300-0024
   
   Quick Shop
 * Rolex Datejust 36mm, Ref. # 126200-0020
   
   Quick Shop
 * Rolex DAY-DATE 36 Oyster, 36 mm, Everose gold m128235-0037
   
   Quick Shop
 * Rolex Datejust 36, 126234-0037
   
   Quick Shop
 * Rolex Datejust 41 126300-0001
   
   Quick Shop
 * Rolex Datejust 31 White Roman Dial Fluted Bezel 18K Yellow Gold Two Tone
   Jubilee Watch 278273 NP
   
   Quick Shop
 * Rolex Day-Date 36 Silver Dial President Yellow Gold Watch 118208
   
   Quick Shop
 * Rolex Datejust 31 White Dial Diamond Bezel Rose Gold Two Tone Watch 278381RBR
   278381
   
   Quick Shop
 * Rolex Datejust 31 Pearl Diamond Dial Fluted Bezel 18K Everose Gold Two Tone
   Watch 278271
   
   Quick Shop
 * Rolex Datejust 36, 126200-0005
   
   Quick Shop
 * Rolex Datejust 31 Champagne Diamonds Dial Diamond Bezel Yellow Gold Two Tone
   Watch 278383RBR 278383
   
   Quick Shop
 * ROLEX 126334 DATEJUST 41 "LATEST MODEL" ROLEX WARRANTY TO 2024
   
   Quick Shop
 * ROLEX 116622 YACHT-MASTER "PLATINUM BEZEL" ROLEX WARRANTY TO 2023
   
   Quick Shop



${function(){ const isCart = data.data.isCart; const isCollection =
data.data.isCollection; const isProduct = data.data.isProduct; const isIndex =
data.data.isIndex; return `
${isCart ? 'The items in the shopping cart do not participate in any
recommendation rule. Add the participating items to your shopping cart to check
the design.' : ''} ${isProduct ? 'This product did not participated in any
recommendation rule. Switch to another product to check the design.' : ''}
${isCollection ? 'The items in this collection do not participate in any
recommendation rule. Switch the participating items to check the design.' : ''}
${isIndex ? 'The home page do not participate in any recommendation rule.' : ''}
(This prompt would not display on client-side)
Recommended Products
` }()} ${function(){ const rule = data.data; const getImageHeight =
function(image){ const image_size = rule.config.image_size || 0; const
imageWidth = image.width || 600; const imageHeight = image.height || 800; let
ratio = 0; if(image_size == 0){ ratio = (imageHeight / imageWidth).toFixed(2);
}else if(image_size == 1){ ratio = 1.5; }else if(image_size == 2){ ratio = 1;
}else if(image_size == 3){ ratio = 0.75; } return imageWidth * ratio; }; const
toQuery = obj => Object.keys(obj) .map(k => Array.isArray(obj[k]) ? obj[k].map(v
=> `${k}[]=${encodeURIComponent(v)}`).join('&') :
`${k}=${encodeURIComponent(obj[k])}` ) .join('&'); return `
${rule.config.title}
 * ${product.title}
   
   ${rule.config.quick_shop_button_text}



` }()}


class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) {
super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {};
this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = '';
this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ =
''; this.order_id_ = ''; } static deferredMount() { return false; }
isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; }
buildCallback() { const template_type =
window.C_SETTINGS.meta.page.template_type; if (template_type === 1) {
this.show_type_ = 3; this.product_resource_id_ =
window.C_SETTINGS.meta.page.resource_id; } else if (template_type === 2) {
this.show_type_ = 4; this.collection_resource_id_ =
window.C_SETTINGS.meta.page.resource_id; } else if (template_type === 15){
this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; }
else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ =
window.C_SETTINGS.customer.customer_id; } else if (template_type === 35){
this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop();
} this.templates_ = SPZServices.templatesForDoc(this.element);
this.setAction_(); } mountCallback() { console.log('smart mounted'); const that
= this; const themeName = window.C_SETTINGS.theme.merchant_theme_name; const
isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res &&
res.rules && res.rules.length) { const blockEl =
document.getElementById('smart_recommend_block');
SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res},
true).then(() => { if (isGeek && that.show_type_ === 6) {
blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; }
const recommendStyle = document.createElement('style'); recommendStyle.innerHTML
= ` .plugin__recommend_container,.app-recommend-card { display: none !important;
} `; document.head.appendChild(recommendStyle); const fetchList = [];
res.rules.forEach((rule) => {
fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll =
Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule,
index) => { rule.products = p_res[index] && p_res[index].products; if
(rule.products?.length) { const modalRender =
document.getElementById('smart_recommend_js_root'); const $dest =
document.getElementById('cart'); const isLifeStyle =
/Life.*Style/.test(window.C_SETTINGS.theme.merchant_theme_name); if (modalRender
&& isLifeStyle && $dest.clientWidth > 767) {
modalRender.classList.add('zb-mt-[-180px]') } } const ruleEl =
document.getElementById('smart_recommend_rule_' + rule.id);
SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule},
true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`,
function(){ that.trackRuleImpress(rule); }); const btnElList =
document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`);
btnElList.forEach((btnEl) => { if (btnEl && rule.config &&
rule.config.quick_shop_button_bg_color &&
rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor =
rule.config.quick_shop_button_bg_color; btnEl.style.color =
rule.config.quick_shop_button_text_color; } }) }); }); }); }); }) }) } else { if
(window.top !== window.self) { const template_type =
window.C_SETTINGS.meta.page.template_type; const holderEl =
document.getElementById('smart_recommend_preview_no_data_placeholder');
SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart:
template_type === 13, isCollection: template_type === 2, isProduct:
template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); }
setAction_() { this.registerAction('quickShop', (data) => { const that = this;
const product_id = data.args.product_id; const productIndex =
data.args.productIndex; const rule_id = data.args.rule_id; const ssp =
data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb =
data.args.ifb; const modalRender =
document.getElementById('smart_recommend_product_modal_render'); if (product_id)
{ this.fetchProductData(product_id).then((res) => { const product = res.products
&& res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb
= ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product:
product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm,
show_type: that.show_type_}, true).then(() => { const modalEl =
document.getElementById('smart_recommend_product_modal');
SPZ.whenApiDefined(modalEl).then((modal) => {
that.impressListen('#smart_recommend_product_modal', function(){
that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); });
modal.open(); }); const formEl =
document.getElementById('smart_recommend_product_form');
SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const
variantEl = document.getElementById('smart_recommend_product_variants');
SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product);
}); }); }) }); } }); this.registerAction('handleScroll', (data) => {
this.directTo(data.args.rule_id, data.args.direction); });
this.registerAction('handleProductChange', (data) => { const variant =
data.args.data.variant; const product = data.args.data.product; const
imageRenderEl = document.getElementById('smart_recommend_product_image');
SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant,
product: product }, true); }); }); this.registerAction('handleAtcSuccess',
(detail) => { const data = detail.args; data.data.product = data.data.product ||
{}; data.data.variant = data.data.variant || {}; const product_id =
data.data.product.id; const product_title = data.data.product.title; const
variant_id = data.data.variant.id; const price = data.data.variant.price; const
rule_id = data.rule_id; const aid =
`smart_recommend.${this.show_type_}.${rule_id}`; const ifb =
data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp;
const scm = data.scm; const spm =
`smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id:
product_id, product_id: product_id, number: 1, name: product_title, variant_id:
variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart',
_extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm:
`..${window.C_SETTINGS.meta.page.template_name}.${spm}`, ssp: ssp, } };
this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => {
const params = data.args; const spm =
`smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ =
window.djInterceptors && window.djInterceptors.track.use({ event:
'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` +
params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm:
`..${window.C_SETTINGS.meta.page.template_name}.${spm}`, }, once: true }); }); }
tranckAddToCart(detail) { if (window.$) {
window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() {
const payload = { show_type: this.show_type_, }; let that = this; if
(this.show_type_ === 6) { let line_items = []; return
this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) {
line_items = res.cart.line_items.map((item) => { return { product_id:
item.product_id, variant_id: item.variant_id, quantity: item.quantity, price:
item.price } }); } payload.line_items = line_items; that.cart_items_ =
line_items; return that.fetchRulesRequest(payload); }); } else { if
(this.show_type_ === 3) { payload.line_items = [{ product_id:
this.product_resource_id_ }]; } else if (this.show_type_ === 4) {
payload.collection_id = this.collection_resource_id_; } else if (this.show_type_
=== 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ ===
8) { payload.order_id = this.order_id_; } return
this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return
fetch(window.C_SETTINGS.routes.root + "/api/possum/recommend_query", { method:
"POST", headers: { "Content-Type": "application/json" }, body:
JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); }
}); } fetchCart() { return
fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`)
.then((res) => { if (res.ok) { return res.json(); } }); }
fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields:
["title", "url", "image", "min_price_variant.price",
"min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_
=== 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; }
else if (this.show_type_ === 4) { payload.collection_id =
this.collection_resource_id_; } else if (this.show_type_ === 6) {
payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) {
payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) {
payload.order_id = this.order_id_; } return fetch(window.C_SETTINGS.routes.root
+ "/api/possum/recommend_products", { method: "POST", headers: { "Content-Type":
"application/json" }, body: JSON.stringify(payload) }).then(function(res){
if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); }
fetchProductData(product_id) { return fetch(window.C_SETTINGS.routes.root +
"/api/possum/products", { method: "POST", headers: { "Content-Type":
"application/json" }, body: JSON.stringify({ product_ids: [product_id], fields:
[ "images", "options", "min_price_variant", "variants"] })
}).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){
console.log(err); const loadingEl =
document.getElementById('smart_recommend_loading'); if (loadingEl) {
loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele)
return; if (window.getComputedStyle) { return
window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; }
directTo(id, direction) { const scrollElement =
document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth =
parseInt(this.getStyle(scrollElement, 'width')); const scrollLength =
(blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth -
scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left')
{ if (document.dir === 'rtl') { scrollElement.scrollTo({ left:
Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 :
scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; }
scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength,
0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') {
scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint
+ 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' });
return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint
- 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } }
trackRuleImpress(rule) { if (window.sa && window.sa.track) {
window.sa.track("plugin_common", { plugin_name: "upsell", event_type:
"impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type:
this.show_type_, support_app_block: window.C_SETTINGS.theme.support_app_block
}); window.sa.track("module_impressions", { aid:
`smart_recommend.${this.show_type_}.${rule.id}`, support_app_block:
window.C_SETTINGS.theme.support_app_block }); } } trackQuickShop(data) {
window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell",
event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id,
show_type: this.show_type_, }); } impressListen(selector, cb) { const el =
document.querySelector(selector); const onImpress = (e) => { if (e) {
e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) {
el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } }
SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent);
${(function(){ const product = data.product; const toQuery = obj =>
Object.keys(obj) .map(k => Array.isArray(obj[k]) ? obj[k].map(v =>
`${k}[]=${encodeURIComponent(v)}`).join('&') :
`${k}=${encodeURIComponent(obj[k])}` ) .join('&'); return `
${product.images.map((image) => { return `` }).join('')}

${product.title}

See detail
Quantity
Add To Cart Buy Now
`; })()}
${(function(){ const product = data.product; const avail_variants =
product.variants.filter(function(variant){ return variant.available; }); const
selected_variant = product.min_price_variant.available ?
product.min_price_variant : avail_variants.length && avail_variants[0]; return `
${option.name}
${ option.values.map(function(value, index){ const checked =
selected_variant["option"+option.position] == value ? "checked": ""; return `
${value}
` }).join("") }
` })()}





ABOUT US
CONTACT US
TERMS OF SERVICE
SHIPPING POLICY
RETURN POLICY
PRIVACY POLICY
Instagram
Facebook
Twitter
Youtube
© 2024 Rolex-outlet 



111
GIFTS

POINTS

Rolex Datejust 36, 126231-0028 €100.00 €2,188.00
€100.00 €2,188.00
Buy Now
Rolex Datejust 36, 126231-0028 €100.00 €2,188.00
€100.00 €2,188.00
Buy Now

Item has been added
${(function(){ const products = data.products; const getDefaultVariant =
function(product){ if (product.min_price_variant.available){ return
product.min_price_variant; }else { const avail_variants =
product.variants.filter(function(variant){ return variant.available; }); if
(avail_variants.length) { return avail_variants[0]; } } }; const toQuery = obj
=> Object.keys(obj) .map(k => Array.isArray(obj[k]) ? obj[k].map(v =>
`${k}[]=${encodeURIComponent(v)}`).join('&') :
`${k}=${encodeURIComponent(obj[k])}` ) .join('&'); const getDefaultTrackParams =
function(product, index){ const variant = getDefaultVariant(product); const
params = { aid: 'smart_recommend.2.' + data.id, scm: product.scm || data.scm ||
'', spm: data.spmBase + '.' + index, ssp: data.ssp || '', }; const trackParams =
Object.keys(params).map(function(key){ return params[key]; }).join('__'); return
trackParams; }; const hasMore = (data.products.length -
data.target_top_product_num - data.page * data.limit) === 0; return `
${(function(){ return `
${data.config.pop_title}

${data.rebate_tips || ''}
`; })()}
${product.title}
Added




`; })()}

class SpzCustomComponent extends SPZ.BaseElement { constructor(element) {
super(element); this.templates_ = null; this.container_ = null;
this._atcLineItem = {}; this.cart_ = {}; this.top_product_ids_ = [];
this.products_ = []; this.activityId_ = null; this.rendered_ = false;
this.myInterceptor_ = null; this.i18n_ = {}; this.config_ = {}; this.page_ = 1;
this.limit_ = 10; this.loading_ = false; } static deferredMount() { return
false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER;
} buildCallback() { this.templates_ = SPZServices.templatesForDoc(this.element);
this.setAction_(); } mountCallback() { console.log('pop mounted'); this.i18n_ =
window.smartRecommendI18n &&
window.smartRecommendI18n[document.documentElement.lang || 'en-US'] || {}; const
cartPopRenderEl = document.getElementById("smart_cart_pop_render"); const
modalEl = document.getElementById("smart_cart_pop_modal"); const spmBase =
`smart_recommend_2`; const extra = { spmBase: spmBase, i18n: this.i18n_, };
const that = this; document.addEventListener('dj.addToCart', (event) => { try {
const e = event.detail; if (e.source === 'buy_now' || window.__upsell_block ||
this.rendered_) return; that.fetchActivityData({product_id: e.product_id,
variant_id: e.variant_id}).then(data => { if (!data || !data.products ||
!data.products.length) return; that.config_ = data.config; const recommendStyle
= document.createElement('style'); recommendStyle.innerHTML = `
#plugin_recommend_atc_pop { display: none !important; } `;
document.head.appendChild(recommendStyle); if (data.config.pop_frequency ===
'once' && window.sessionStorage.getItem('smart_pop_times') > 0) return;
SPZ.whenApiDefined(cartPopRenderEl).then(function(api){
api.render(Object.assign({}, data, extra), true).then(function() {
that.rendered_ = true; if (data.products.length) { const headEl =
document.getElementById("smart_cart_pop_head_render"); if (headEl) {
SPZ.whenApiDefined(headEl).then(function(head){ head.render({ data: data }); });
} SPZ.whenApiDefined(modalEl).then(function(api){
that.impressListen('#smart_cart_pop_activity', function(){
that.trackPluginImpression_(data); }); api.open(); const intersectionObserver =
new IntersectionObserver( function (entries) { if (entries[0].intersectionRatio
> 0){ !that.loading_ && (that.products_.length - that.target_top_product_num_)
=== that.page_ * that.limit_ && that.viewMore(); } }, { threshold: [0.1] } );
intersectionObserver.observe(
document.querySelector('#smart_cart_pop_view_more_text') ); }); } }) }); }) }
catch (e) { console.error(e); } }); } unmountCallback() { } viewMore () { const
cartPopRenderEl = document.getElementById("smart_cart_pop_render"); const that =
this; const data = {}; SPZ.whenApiDefined(cartPopRenderEl).then(function(api){
that.fetchActivityData({ page: that.page_ + 1, limit: that.limit_
}).then(function(data) { data.products = that.products_;
data.target_top_product_num = that.target_top_product_num_; data.i18n =
that.i18n_; data.spmBase = `smart_recommend_2`; api.render(data); }) }) }
fetchActivityData(data) { const that = this; if (data.product_id) {
that._atcLineItem = data; } that.loading_ = true; return
that.getCart().then(cart => { that.cart_ = cart.cart; return
fetch(window.C_SETTINGS.routes.root + "/api/possum/recommend_activities", {
method: "POST", headers: { "Content-Type": "application/json", "store-id":
window.C_SETTINGS.shop.shop_id, }, body: JSON.stringify({ "show_type": 2,
"line_item": { "product_id": that._atcLineItem.product_id, "variant_id":
that._atcLineItem.variant_id, }, line_items: cart.cart.line_items, "page":
data.page || 1, "limit": data.limit || 10, }) }).then(function(res){ if(res.ok){
return res.json(); } }).then(function(data){ data.cart = cart.cart; if
(data.page === 1) { that.target_top_product_num_ = data.target_top_product_num
|| 0; } that.products_ = that.products_.concat(data.products || []); that.page_
= data.page || 1; that.limit_ = data.limit || 10; return data;
}).catch(function(e){ console.log(e); }).finally(function(){ that.loading_ =
false; }) }); }; setAction_() { this.registerAction('changeBannerColor', (data)
=> { if (!data.args.data || !data.args.data.data || !data.args.data.data.data)
return false; const config = data.args.data.data.data.config; const bannerBgEl =
document.querySelector('.smart_cart_pop_banner_bg'); if (bannerBgEl && config) {
bannerBgEl.style.background = config.banner_bg_color; bannerBgEl.style.color =
config.banner_text_color; } }); this.registerAction('handleProductChange',
(data) => { const that = this; const imageEl =
document.getElementById(`smart_cart_pop_image_${data.args.data.product_id}`);
SPZ.whenApiDefined(imageEl).then(function(api){ api.render({ data:
data.args.data, config: that.config_ }); }); const atcTextEl =
document.getElementById(`smart_cart_pop_atc_${data.args.data.product_id}`);
SPZ.whenApiDefined(atcTextEl).then(function(api){ api.render({ data:
data.args.data, defaultText: data.args.defaultText, soldOutText:
that.i18n_.sold_out }); }); if (data.args.data.variant.available) {
document.getElementById(`smart_cart_pop_atc_btn_${data.args.data.product_id}`).classList.remove('zb-pointer-events-none');
} else {
document.getElementById(`smart_cart_pop_atc_btn_${data.args.data.product_id}`).classList.add('zb-pointer-events-none');
} }); this.registerAction('handleProduct', (detail) => { const that = this;
this.renderProductsForm_(detail.args.data.data); });
this.registerAction('addATCHook', (data) => { const params = data.args;
this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({
event: 'dj.addToCart', params: { aid: 'smart_recommend.2.' + params.activity_id,
ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm:
`..${window.C_SETTINGS.meta.page.template_name}.${params.spm}`, }, once: true
}); }); this.registerAction('handleAtcSuccess', (detail) => {
detail.args.data.product = detail.args.data.product || {};
detail.args.data.variant = detail.args.data.variant || {}; const defParams =
detail.args.product.split('__'); const product_id = detail.args.data.product.id;
const product_title = detail.args.data.product.title; const variant_id =
detail.args.data.variant.id; const price = detail.args.data.variant.price; const
aid = defParams[0]; const ifb = detail.args.data.product.ifb; const cfb =
detail.args.data.product.cfb; const scm = defParams[1]; const spm =
defParams[2]; const ssp = defParams[3]; const params = { id: product_id,
product_id: product_id, number: 1, name: product_title, variant_id: variant_id,
childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid:
aid, ifb: ifb, cfb: cfb, scm: scm, spm:
`..${window.C_SETTINGS.meta.page.template_name}.${spm}`, ssp: ssp, } }; const
activity_id = `${detail.args.activity_id}`; const target_drive_way =
detail.args.target_drive_way;
document.getElementById(`smart_cart_pop_loading_${product_id}`).classList.add('zb-hidden');
document.getElementById(`smart_cart_pop_added_${product_id}`).classList.remove('zb-hidden');
setTimeout(() => {
document.getElementById(`smart_cart_pop_added_${product_id}`).classList.add('zb-hidden');
document.getElementById(`smart_cart_pop_atc_${product_id}`).classList.remove('zb-hidden');
document.getElementById(`smart_cart_pop_atc_btn_${product_id}`).classList.remove('zb-pointer-events-none');
}, 1000); this.tranckAddToCart(params); if (target_drive_way === 'rebate') {
const bannerEl = document.getElementById(`smart_cart_pop_banner`);
this.getRecommendInfo(activity_id).then(res => { if (res && res.rebate_tips) {
bannerEl.innerHTML = res.rebate_tips; } }) } });
this.registerAction('handleCartSummary', (event) => { const that = this; const
checkoutButtonEle = document.getElementById("smart_cart_pop_checkout_button");
if (checkoutButtonEle) {
SPZ.whenApiDefined(checkoutButtonEle).then(function(api){ api.render({ i18n:
that.i18n_ }, false); }); } const tipEl =
document.getElementById("smart_cart_pop_tip_info"); const cart = event &&
event.args && event.args.data && event.args.data.data; if (!tipEl || !cart)
return; let total_price = cart.total_price; if (!total_price) {
SPZ.whenApiDefined(tipEl).then(function(api){ api.render({ total_price:
total_price, i18n: that.i18n_ }, false); }); } else {
this.getBindDiscount_(cart.line_items).then(res => { if (res &&
res.discount_code){ const total = cart.line_price - cart.total_discount -
res.bundle_discount_value; if (total > 0) { total_price = total; } else {
total_price = 0; } } SPZ.whenApiDefined(tipEl).then(function(api){ api.render({
total_price: total_price, i18n: that.i18n_ }, false); }); }) } });
this.registerAction('open', () => {
window.sessionStorage.setItem('smart_pop_times',
Number(window.sessionStorage.getItem('smart_pop_times')) + 1); });
this.registerAction('close', () => { this.rendered_ = false; this.products_ =
[]; window.djInterceptors &&
window.djInterceptors.track.eject(this.myInterceptor_); }); } getCart() { return
fetch(`${window.C_SETTINGS.routes.root || ''}/api/cart`, { method: 'GET',
headers: { 'Content-Type': 'application/json; charset=UTF-8', }, }).then(res =>
res.json()) } getRecommendInfo (activity_id) { return this.getCart().then(cart
=> { this.cart_ = cart.cart; return fetch(`${window.C_SETTINGS.routes.root ||
''}/api/possum/recommend_info`, { method: 'POST', headers: { 'Content-Type':
'application/json; charset=UTF-8', }, body: JSON.stringify({ show_type: 2,
rule_id: `${activity_id}`, line_items: cart.cart.line_items, line_item:
this._atcLineItem, }) }).then(res => res.json()) }) } renderProductsForm_(data)
{ const products = data.products; const listPopRenderEl =
document.getElementById("smart_cart_pop_render"); if (!listPopRenderEl) return;
listPopRenderEl.querySelectorAll('.smart_cart_pop_atc_btn_bg').forEach(function(el){
el.style.background = data.config.add_to_cart_button_color; });
products.forEach(function(product){ const productId = product.id; const
productFormEls =
listPopRenderEl.querySelectorAll(`ljs-product-form[product-id="${productId}"]`);
let variantsEl =
listPopRenderEl.querySelectorAll(`ljs-product-form[product-id="${productId}"]
#smart_cart_pop_variant_${productId}_mobile ljs-variants`); if
(window.innerWidth > 768) { variantsEl =
listPopRenderEl.querySelectorAll(`ljs-product-form[product-id="${productId}"]
#smart_cart_pop_variant_${productId}_pc ljs-variants`); }
productFormEls.forEach(function(el){ SPZ.whenApiDefined(el).then(function(api){
api.setProduct(product); }); }); variantsEl.forEach(function(el){
SPZ.whenApiDefined(el).then(function(api){ api.handleRender(product); }); }) });
} tranckAddToCart(detail) { if (window.$) {
window.$(document.body).trigger('dj.addToCart', detail); } }
trackPluginImpression_(rule){ if (window.sa && window.sa.track) {
window.sa.track("module_impressions", { aid: `smart_recommend.2.${rule.id}` });
} } getBindDiscount_(carts) { let bundle_sale_ids = []; try { bundle_sale_ids =
sessionStorage['bundle_sale_ids'] &&
JSON.parse(sessionStorage['bundle_sale_ids']).filter((item, index, arr) =>
arr.indexOf(item, 0) === index).slice(-5); } catch (err) { console.error(err); }
if (!carts.length) { Promise.resolve(); } return
fetch(`${window.C_SETTINGS.routes.root || ''}/api/bundle-sales/cart`, { method:
'POST', headers: { 'Content-Type': 'application/json; charset=UTF-8',
'store-id': window.C_SETTINGS.shop.shop_id, }, body: JSON.stringify({ cart:
carts, action_type: 'cart', bundle_sale_ids }) }).then(res => res.json()) }
impressListen(selector, cb) { const el = document.querySelector(selector); const
onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el &&
!el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else
if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart',
SpzCustomComponent); ${function(){ return `
${data.data.rebate_tips || ''}
`; }()} ${function(){ const getImageHeight = function(image){ const width =
image.width || 500; const height = image.height || 500; const image_size =
data.config.image_size || 0; let ratio = 0; if(image_size == 0){ ratio = (height
/ width).toFixed(2); }else if(image_size == 1){ ratio = 1.5; } return 132 *
ratio; }; const image = data.data.variant.image || data.data.product.image;
return ` `; }()}
${(function(){ const product = data.product; const avail_variants =
product.variants.filter(function(variant){ return variant.available; }); const
selected_variant = product.min_price_variant.available ?
product.min_price_variant : avail_variants.length && avail_variants[0]; return `
${option.name}
${ option.values.map(function(value, index){ const checked =
selected_variant["option"+option.position] == value ? "checked": ""; return `
${value}
` }).join("") }
` })()}
${(function(){ const variant = data.variant; return `

`; })()} ${(function(){ const variant = data.variant; return `
${ variant.options.map(function(option){ return option.value; }).join("/") ||
'Not exist' }
`; })()} ${(function(){ const variant = data.data && data.data.variant; const
defaultText = data.defaultText || 'Add To Cart'; const text = (!variant ||
variant.available) ? defaultText: data.soldOutText; return `
${text}
`; })()} ${(function(){ let cart = data; if(data.data) { cart = data.data; }
return `
${cart.item_count >=0 ? cart.item_count : '..'}
`; })()} ${(function(){ return `
${data.i18n.checkout}
`; })()}

Originaltext

Diese Übersetzung bewerten
Mit deinem Feedback können wir Google Übersetzer weiter verbessern