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

📄 product.bsh

📁 国外的一套开源CRM
💻 BSH
字号:
/*
 *  Copyright (c) 2003 The Open For Business Project - www.ofbiz.org
 *
 *  Permission is hereby granted, free of charge, to any person obtaining a 
 *  copy of this software and associated documentation files (the "Software"), 
 *  to deal in the Software without restriction, including without limitation 
 *  the rights to use, copy, modify, merge, publish, distribute, sublicense, 
 *  and/or sell copies of the Software, and to permit persons to whom the 
 *  Software is furnished to do so, subject to the following conditions:
 *
 *  The above copyright notice and this permission notice shall be included 
 *  in all copies or substantial portions of the Software.
 *
 *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 
 *  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
 *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
 *  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 
 *  CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT 
 *  OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR 
 *  THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 *
 *@author     Andy Zeneski
 *@version    $Revision: 1.4 $
 *@since      2.1
*/

import java.lang.*;
import java.util.*;
import org.ofbiz.base.util.*;
import org.ofbiz.entity.*;
import org.ofbiz.service.*;
import org.ofbiz.product.catalog.*;
import org.ofbiz.product.category.*;
import org.ofbiz.product.product.ProductWorker;

dispatcher = request.getAttribute("dispatcher");
delegator = request.getAttribute("delegator");
contentPathPrefix = CatalogWorker.getContentPathPrefix(request);
catalogName = CatalogWorker.getCatalogName(request);
currentCatalogId = CatalogWorker.getCurrentCatalogId(request);
requestParams = UtilHttp.getParameterMap(request);

detailTemplate = "/entry/catalog/productdetail.ftl";
productId = requestParams.get("product_id");

// get the product entity
if (productId != null) {
    product = delegator.findByPrimaryKeyCache("Product", UtilMisc.toMap("productId", productId));
    
    // first make sure this isn't a variant that has an associated virtual product, if it does show that instead of the variant
    virtualProductId = ProductWorker.getVariantVirtualId(product);
    if (virtualProductId != null) {
        productId = virtualProductId;
        product = delegator.findByPrimaryKeyCache("Product", UtilMisc.toMap("productId", productId));
    }
    
    request.setAttribute("productId", productId);
    
    // now check to see if there is a view allow category and if this product is in it...
    if (product != null) {
        viewProductCategoryId = CatalogWorker.getCatalogViewAllowCategoryId(delegator, currentCatalogId);
        if (viewProductCategoryId != null) {
            if (!CategoryWorker.isProductInCategory(delegator, productId, viewProductCategoryId)) {
                // a view allow productCategoryId was found, but the product is not in the category, axe it...
                product = null;
            }
        }
    }
    
    if (product != null) {
        request.setAttribute("product", product);  
        content = context.get("page");
        content.setProperty("title", product.getString("productName"));
        context.put("metaDescription", product.getString("productName"));
        keywords = new ArrayList();
        keywords.add(product.getString("productName"));
        keywords.add(catalogName);
        members = delegator.findByAndCache("ProductCategoryMember", UtilMisc.toMap("productId", productId));
        membersIter = members.iterator();
        while (membersIter.hasNext()) {
            member = membersIter.next();
            category = member.getRelatedOneCache("ProductCategory");
            keywords.add(category.getString("description"));            
        }
        context.put("metaKeywords", StringUtil.join(keywords, ", "));
          
        //productTemplate = product.getString("detailTemplate");
        //if (productTemplate != null && productTemplate.length() > 0) {
            //detailTemplate = productTemplate;
        //}
    }
}
       
//  check the catalog's template path and update
templatePathPrefix = CatalogWorker.getTemplatePathPrefix(request);
if (templatePathPrefix != null) {
    detailTemplate = templatePathPrefix + detailTemplate;
}    
    
// set the template for the view
request.setAttribute("detailTemplate", detailTemplate);
    
    

⌨️ 快捷键说明

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