⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 productdetail.ftl

📁 Sequoia ERP是一个真正的企业级开源ERP解决方案。它提供的模块包括:电子商务应用(e-commerce), POS系统(point of sales),知识管理,存货与仓库管理
💻 FTL
📖 第 1 页 / 共 3 页
字号:
                <input type="text" class="inputBox" size="5" name="quantity" value="1"<#if product.isVirtual?if_exists?upper_case == "Y"> disabled="disabled"</#if>/>            </#if>            <#-- This calls addItem() so that variants of virtual products cant be added before distinguishing features are selected, it should not be changed to additemSubmit() -->            <a href="javascript:addItem()" class="buttontext"><nobr>${uiLabelMap.EcommerceAddtoCart}</nobr></a>&nbsp;          </#if>          <#if requestParameters.category_id?exists>            <input type="hidden" name="category_id" value="${requestParameters.category_id}"/>          </#if>        </#if>      </form>    <div class="tabletext">      <#if sessionAttributes.userLogin?has_content && sessionAttributes.userLogin.userLoginId != "anonymous">        <hr class="sepbar"/>        <form name="addToShoppingList" method="post" action="<@ofbizUrl>addItemToShoppingList<#if requestAttributes._CURRENT_VIEW_?exists>/${requestAttributes._CURRENT_VIEW_}</#if></@ofbizUrl>">          <input type="hidden" name="productId" value="${requestParameters.product_id}"/>          <input type="hidden" name="product_id" value="${requestParameters.product_id}"/>          <input type="hidden" name="productStoreId" value="${productStoreId}"/>          <input type="hidden" name="reservStart" value= ""/>          <select name="shoppingListId" class="selectBox">            <#if shoppingLists?has_content>              <#list shoppingLists as shoppingList>                <option value="${shoppingList.shoppingListId}">${shoppingList.listName}</option>              </#list>            </#if>            <option value="">---</option>            <option value="">${uiLabelMap.EcommerceNewShoppingList}</option>          </select>          &nbsp;&nbsp;          <#if product.productTypeId?if_exists == "ASSET_USAGE">              <table><tr><td>&nbsp;</td><td class="tabletext" align="right">Start Date (yyyy-mm-dd)</td><td><input type="text" class="inputBox" size="10" name="reservStartStr" ></td><td class="tabletext">Number of&nbsp;days</td><td><input type="text" class="inputBox" size="4" name="reservLength"></td><td>&nbsp;</td><td class="tabletext" align="right">Number of&nbsp;persons</td><td><input type="text" class="inputBox" size="4" name="reservPersons" value="1"></td><td class="tabletext" align="right">Qty&nbsp;</td><td><input type="text" class="inputBox" size="5" name="quantity" value="1"></td></tr></table>          <#else>              <input type="text" class="inputBox" size="5" name="quantity" value="1"/>              <input type="hidden" name="reservStartStr" value= ""/>          </#if>          <a href="javascript:addShoplistSubmit();" class="buttontext">${uiLabelMap.EcommerceAddtoShoppingList}</a>        </form>      <#else> <br/>        ${uiLabelMap.EcommerceYouMust} <a href="<@ofbizUrl>checkLogin/showcart</@ofbizUrl>" class="buttontext">${uiLabelMap.CommonLogin}</a>        ${uiLabelMap.EcommerceToAddSelectedItemsToShoppingList}.&nbsp;      </#if>      </div>      <#-- Prefill first select box (virtual products only) -->      <#if variantTree?exists && 0 < variantTree.size()>        <script language="JavaScript" type="text/javascript">eval("list" + "${featureOrderFirst}" + "()");</script>      </#if>      <#-- Swatches (virtual products only) -->      <#if variantSample?exists && 0 < variantSample.size()>        <#assign imageKeys = variantSample.keySet()>        <#assign imageMap = variantSample>        <p>&nbsp;</p>        <table cellspacing="0" cellpadding="0">          <tr>            <#assign maxIndex = 7>            <#assign indexer = 0>            <#list imageKeys as key>              <#assign swatchProduct = imageMap.get(key)>              <#if swatchProduct?has_content && indexer < maxIndex>                <#assign imageUrl = Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(swatchProduct, "SMALL_IMAGE_URL", request)?if_exists>                <#if !imageUrl?has_content>                  <#assign imageUrl = productContentWrapper.get("SMALL_IMAGE_URL")?if_exists>                </#if>                <#if !imageUrl?has_content>                  <#assign imageUrl = "/images/defaultImage.jpg">                </#if>                <td align="center" valign="bottom">                  <a href="javascript:getList('FT${featureOrderFirst}','${indexer}',1);"><img src="<@ofbizContentUrl>${contentPathPrefix?if_exists}${imageUrl}</@ofbizContentUrl>" border="0" width="60" height="60"></a>                  <br/>                  <a href="javascript:getList('FT${featureOrderFirst}','${indexer}',1);" class="linktext">${key}</a>                </td>              </#if>              <#assign indexer = indexer + 1>            </#list>            <#if (indexer > maxIndex)>              <div class="tabletext"><b>More options available in drop down.</b></div>            </#if>          </tr>        </table>      </#if>    </td>  </tr></table>  <#-- Digital Download Files Associated with this Product -->  <#if downloadProductContentAndInfoList?has_content>    <div id="download-files">      <div class="tableheadtext">${uiLabelMap.EcommerceDownloadFilesTitle}:</div>      <#list downloadProductContentAndInfoList as downloadProductContentAndInfo>        <div class="tabletext">${downloadProductContentAndInfo.contentName}<#if downloadProductContentAndInfo.description?has_content> - ${downloadProductContentAndInfo.description}</#if></div>      </#list>    </div>  </#if>  <#-- Long description of product -->  <div id="long-description">      <div class="tabletext">${productContentWrapper.get("LONG_DESCRIPTION")?if_exists}</div>  </div>  <#-- Any attributes/etc may go here -->  <#-- Product Reviews -->  <div id="reviews">      <div class="tableheadtext">${uiLabelMap.EcommerceCustomerReviews}:</div>      <#if averageRating?exists && (averageRating?double > 0) && numRatings?exists && (numRatings?double > 1)>          <div class="tabletext">${uiLabelMap.EcommerceAverageRating}: ${averageRating} <#if numRatings?exists>(${uiLabelMap.CommonFrom} ${numRatings} ${uiLabelMap.EcommerceRatings})</#if></div>      </#if>      <tr><td colspan="2"><hr class="sepbar"/></td></tr>      <#if productReviews?has_content>        <#list productReviews as productReview>          <#assign postedUserLogin = productReview.getRelatedOne("UserLogin")>          <#assign postedPerson = postedUserLogin.getRelatedOne("Person")?if_exists>              <table border="0" cellpadding="0" cellspacing="0">                <tr>                  <td>                    <div class="tabletext"><b>${uiLabelMap.CommonBy}: </b><#if productReview.postedAnonymous?default("N") == "Y"> ${uiLabelMap.EcommerceAnonymous}<#else> ${postedPerson.firstName} ${postedPerson.lastName}&nbsp;</#if></div>                  </td>                  <td>                    <div class="tabletext"><b>${uiLabelMap.CommonAt}: </b>${productReview.postedDateTime?if_exists}&nbsp;</div>                  </td>                  <td>                    <div class="tabletext"><b>${uiLabelMap.EcommerceRanking}: </b>${productReview.productRating?if_exists?string}</div>                  </td>                </tr>                <tr>                  <td colspan="3">                    <div class="tabletext">&nbsp;</div>                  </td>                </tr>                <tr>                  <td colspan="3">                    <div class="tabletext">${productReview.productReview?if_exists}</div>                  </td>                </tr>                <tr><td colspan="3"><hr class="sepbar"/></td></tr>              </table>        </#list>        <div>            <a href="<@ofbizUrl>reviewProduct?category_id=${categoryId?if_exists}&product_id=${product.productId}</@ofbizUrl>" class="linktext">${uiLabelMap.ProductReviewThisProduct}!</a>        </div>      <#else>        <div class="tabletext">${uiLabelMap.ProductProductNotReviewedYet}.</div>        <div>            <a href="<@ofbizUrl>reviewProduct?category_id=${categoryId?if_exists}&product_id=${product.productId}</@ofbizUrl>" class="linktext">${uiLabelMap.ProductBeTheFirstToReviewThisProduct}!</a>        </div>      </#if>  </div><#-- Upgrades/Up-Sell/Cross-Sell -->  <#macro associated assocProducts beforeName showName afterName formNamePrefix targetRequestName>  <#assign targetRequest = "product">  <#if targetRequestName?has_content>    <#assign targetRequest = targetRequestName>  </#if>  <#if assocProducts?has_content>    <div class="head2">${beforeName?if_exists}<#if showName == "Y">${productValue.productName}</#if>${afterName?if_exists}</div>    <div class="productsummary-container">    <#list assocProducts as productAssoc>        <div class="tabletext">          <a href="<@ofbizUrl>${targetRequest}/<#if categoryId?exists>~category_id=${categoryId}/</#if>~product_id=${productAssoc.productIdTo?if_exists}</@ofbizUrl>" class="buttontext">            ${productAssoc.productIdTo?if_exists}          </a>          - <b>${productAssoc.reason?if_exists}</b>        </div>      ${setRequestAttribute("optProductId", productAssoc.productIdTo)}      ${setRequestAttribute("listIndex", listIndex)}      ${setRequestAttribute("formNamePrefix", formNamePrefix)}      <#if targetRequestName?has_content>        ${setRequestAttribute("targetRequestName", targetRequestName)}      </#if>          ${screens.render(productsummaryScreen)}      <#local listIndex = listIndex + 1>    </#list>    </div>    ${setRequestAttribute("optProductId", "")}    ${setRequestAttribute("formNamePrefix", "")}    ${setRequestAttribute("targetRequestName", "")}  </#if></#macro><#assign productValue = product><#assign listIndex = 1>${setRequestAttribute("productValue", productValue)}<div id="associated-products">    <#-- obsolete -->    <@associated assocProducts=obsoleteProducts beforeName="" showName="Y" afterName=" is made obsolete by these products:" formNamePrefix="obs" targetRequestName=""/>    <#-- cross sell -->    <@associated assocProducts=crossSellProducts beforeName="" showName="N" afterName="You might be interested in these as well:" formNamePrefix="cssl" targetRequestName="crosssell"/>    <#-- up sell -->    <@associated assocProducts=upSellProducts beforeName="Try these instead of " showName="Y" afterName=":" formNamePrefix="upsl" targetRequestName="upsell"/>    <#-- obsolescence -->    <@associated assocProducts=obsolenscenseProducts beforeName="" showName="Y" afterName=" makes these products obsolete:" formNamePrefix="obce" targetRequestName=""/></div><#-- special cross/up-sell area using commonFeatureResultIds (from common feature product search) --><#if commonFeatureResultIds?has_content>    <div class="head2">Similar Products That Might Interest You...</div>    <div class="productsummary-container">        <#list commonFeatureResultIds as commonFeatureResultId>            ${setRequestAttribute("optProductId", commonFeatureResultId)}            ${setRequestAttribute("listIndex", commonFeatureResultId_index)}            ${setRequestAttribute("formNamePrefix", "cfeatcssl")}            <#-- ${setRequestAttribute("targetRequestName", targetRequestName)} -->            ${screens.render(productsummaryScreen)}        </#list>    </div></#if></div>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -