我使用nopCommerce构建我的网站,并在HeaderMenu.ascx页面添加了一个简单的jquery滑块。
然而,它显示在每个页面上,因为主页面引用了HeadMenu.ascx文件。
什么是仅在默认页面中显示它的最佳方式?
默认页面:
<%@ Page Language="C#" MasterPageFile="~/MasterPages/TwoColumn.master" AutoEventWireup="true"
Inherits="NopSolutions.NopCommerce.Web.Default" CodeBehind="Default.aspx.cs"
%>
<%@ Register TagPrefix="nopCommerce" TagName="HomePagePoll" Src="~/Modules/HomePagePoll.ascx" %>
<%@ Register TagPrefix="nopCommerce" TagName="HomePageNews" Src="~/Modules/HomePageNews.ascx" %>
<%@ Register TagPrefix="nopCommerce" TagName="HomePageCategories" Src="~/Modules/HomePageCategories.ascx" %>
<%@ Register TagPrefix="nopCommerce" TagName="HomePageProducts" Src="~/Modules/HomePageProducts.ascx" %>
<%@ Register TagPrefix="nopCommerce" TagName="BestSellers" Src="~/Modules/BestSellers.ascx" %>
<%@ Register TagPrefix="nopCommerce" TagName="Topic" Src="~/Modules/Topic.ascx" %>
<%@ Register TagPrefix="nopCommerce" TagName="RecentlyAddedProducts" Src="~/Modules/RecentlyAddedProducts.ascx" %>
<asp:Content ID="Content1" ContentPlaceHolderID="cph1" runat="Server">
<nopCommerce:Topic ID="topicHomePageText" runat="server" TopicName="HomePageText"
OverrideSEO="false"></nopCommerce:Topic>
<div class="clear">
</div>
<nopCommerce:HomePageCategories ID="ctrlHomePageCategories" runat="server" />
<div class="clear">
</div>
<nopCommerce:BestSellers ID="ctrlBestSellers" runat="server" />
<div class="clear">
</div>
<nopCommerce:RecentlyAddedProducts ID="ctrlRecentlyAddedProducts" runat="server" />
<div class="clear">
</div>
<nopCommerce:HomePagePoll ID="ctrlPolls" runat="server" />
<div class="clear">
</div>
</asp:Content>
然后,上面指向TwoColumn母版页:
<%@ Master Language="C#" MasterPageFile="~/MasterPages/Root.Master" AutoEventWireup="true" CodeBehind="TwoColumn.master.cs" Inherits="NopSolutions.NopCommerce.Web.MasterPages.TwoColumn" %>
<%@ Register TagPrefix="nopCommerce" TagName="MiniShoppingCartBox" Src="~/Modules/MiniShoppingCartBox.ascx" %>
<%@ Register TagPrefix="nopCommerce" TagName="CategoryNavigation" Src="~/Modules/CategoryNavigation.ascx" %>
<%@ Register TagPrefix="nopCommerce" TagName="ManufacturerNavigation" Src="~/Modules/ManufacturerNavigation.ascx" %>
<%@ Register TagPrefix="nopCommerce" TagName="InfoBlock" Src="~/Modules/InfoBlock.ascx" %>
<%@ Register TagPrefix="nopCommerce" TagName="LiveChatBlock" Src="~/Modules/LiveChatBlock.ascx" %>
<%@ Register TagPrefix="nopCommerce" TagName="RecentlyViewedProducts" Src="~/Modules/RecentlyViewedProductsBox.ascx" %>
<%@ Register TagPrefix="nopCommerce" TagName="PopularTags" Src="~/Modules/PopularTags.ascx" %>
<%@ Register TagPrefix="nopCommerce" TagName="NewsLetterSubscriptionBoxControl" Src="~/Modules/NewsLetterSubscriptionBoxControl.ascx" %>
<asp:Content ID="Content1" ContentPlaceHolderID="cph1" runat="server">
<div class="master-wrapper-side-2">
<asp:ContentPlaceHolder ID="cph2" runat="server">
<nopCommerce:NewsLetterSubscriptionBoxControl runat="server" ID="ctrlNewsLetterSubscriptionBoxControl" />
<div class="clear">
</div>
<div class="clear">
</div>
<div class="clear">
</div>
<nopCommerce:CategoryNavigation ID="ctrlCategoryNavigation" runat="server" />
<div class="clear">
</div>
<div class="clear">
</div>
</asp:ContentPlaceHolder>
</div>
<div class="master-wrapper-center-2">
<div class="master-wrapper-cph-2">
<asp:ContentPlaceHolder ID="cph1" runat="server">
</asp:ContentPlaceHolder>
</div>
</div>
</asp:Content>
然后指向MasterPage:
母版页包含引用“HeaderMenu”,其中包含我的css水平菜单和jquery滑块:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Root.Master.cs" Inherits="NopSolutions.NopCommerce.Web.MasterPages.root" %>
<%@ Register TagPrefix="nopCommerce" TagName="Header" Src="~/Modules/Header.ascx" %>
<%@ Register TagPrefix="nopCommerce" TagName="HeaderMenu" Src="~/Modules/HeaderMenu.ascx" %>
<%@ Register TagPrefix="nopCommerce" TagName="Footer" Src="~/Modules/Footer.ascx" %>
<%@ Register TagPrefix="nopCommerce" TagName="GoogleAdsense" Src="~/Modules/GoogleAdsense.ascx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<meta name="description" content="" />
<meta name="keywords" content="" />
<asp:PlaceHolder id="SCRIPTS" runat="server" />
<asp:PlaceHolder id="phAnalyticsHead" runat="server" />
<script type="text/javascript"
src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
// You may specify partial version numbers, such as "1" or "1.3",
// with the same result. Doing so will automatically load the
// latest version matching that partial revision pattern
// (e.g. 1.3 would load 1.3.2 today and 1 would load 1.6.1).
google.load("jquery", "1.6.1");
google.setOnLoadCallback(function () {
// Place init code here instead of $(document).ready()
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div class="master-wrapper-page">
<div class="master-wrapper-content">
<nopCommerce:Header ID="ctrlHeader" runat="server" />
<nopCommerce:HeaderMenu ID="ctrlHeaderMenu" runat="server" />
<asp:ContentPlaceHolder ID="cph1" runat="server">
</asp:ContentPlaceHolder>
<div class="clear">
</div>
</div>
<nopCommerce:GoogleAdsense runat="server" ID="ctrlGoogleAdsense" />
<nopCommerce:Footer ID="ctrlFooter" runat="server" />
</div>
</form>
<asp:PlaceHolder id="phAnalyticsBody" runat="server" />
</body>
</html>
最后,下面是我的HeaderMenu页面:
<%@ Control Language="C#" AutoEventWireup="true" Inherits="NopSolutions.NopCommerce.Web.Modules.HeaderMenuControl"
CodeBehind="HeaderMenu.ascx.cs" %>
<%@ Register TagPrefix="nopCommerce" TagName="SearchBox" Src="~/Modules/SearchBox.ascx" %>
<script type="text/javascript">
var page = window.location.pathname.split('/').pop();
$('a[href$="' + page + '"]').parent().addClass('selected');
</script>
<script type="text/javascript">
function slideSwitch() {
var $active = $('#slideshow IMG.active');
if ($active.length == 0) $active = $('#slideshow IMG:last');
var $next = $active.next().length ? $active.next()
: $('#slideshow IMG:first');
$active.addClass('last-active');
$next.css({ opacity: 0.0 })
.addClass('active')
.animate({ opacity: 1.0 }, 1000, function () {
$active.removeClass('active last-active');
});
}
$(function () {
setInterval("slideSwitch()", 5000);
});
</script>
<div class="headermenu">
<div class="searchbox">
<nopCommerce:SearchBox runat="server" ID="ctrlSearchBox"></nopCommerce:SearchBox>
</div>
<div id="nav">
<nav>
<ul class="topmenu">
<li><a id="current" href="<%=CommonHelper.GetStoreLocation()%>" class="home"><%=GetLocaleResourceString("Content.HomePage")%></a> </li>
<% if (this.ProductService.RecentlyAddedProductsEnabled)
{ %>
<li><a href="<%=Page.ResolveUrl("~/recentlyaddedproducts.aspx")%>">
<%=GetLocaleResourceString("Products.NewProducts")%></a> </li>
<%} %>
<li><a href="<%=Page.ResolveUrl("~/search.aspx")%>">
<%=GetLocaleResourceString("Search.Search")%></a> </li>
<li><a href="<%= SEOHelper.GetMyAccountUrl()%>">
<%=GetLocaleResourceString("Account.MyAccount")%></a> </li>
<% if (this.BlogService.BlogEnabled)
{ %>
<li><a href="<%= SEOHelper.GetBlogUrl()%>">
<%=GetLocaleResourceString("Blog.Blog")%></a> </li>
<%} %>
<% if (this.ForumService.ForumsEnabled)
{ %>
<li><a href="<%= SEOHelper.GetForumMainUrl()%>">
<%=GetLocaleResourceString("Forum.Forums")%></a></li>
<%} %>
<li><a href="<%=Page.ResolveUrl("~/contactus.aspx")%>">
<%=GetLocaleResourceString("ContactUs.ContactUs")%></a> </li>
</ul>
</nav>
</div>
<%-- add the slider below the headerMenu--%>
<div id="slideshow">
<img src="../App_Themes/darkOrange/images/dc/slider2/1.jpg" alt="" class="active" />
<img src="../App_Themes/darkOrange/images/dc/slider2/2.jpg" alt="" />
<img src="../App_Themes/darkOrange/images/dc/slider2/3.jpg" alt="" />
<img src="../App_Themes/darkOrange/images/dc/slider2/4.jpg" alt="" />
<img src="../App_Themes/darkOrange/images/dc/slider2/5.jpg" alt="" />
<img src="../App_Themes/darkOrange/images/dc/slider2/6.jpg" alt="" />
</div>
</div>
很抱歉这封长电子邮件无法以任何其他方式解释......
答案 0 :(得分:1)
简单地通过nopcommerce中的管理面板进行操作 在Admin Homepagetext主题页面中输入以下代码
<div id="slideshow">
your code
</div>
答案 1 :(得分:0)
我已经解决了只是检查调用View
的控制器@if (ViewContext.Controller.GetType().Name == "HomeController")
{
@Html.Widget("home_page_top") // Or whatever you want to do
}
答案 2 :(得分:-2)
我现在对编码没有太多了解,但几周前我对带有滑块的wordpress博客提出了同样的问题。 通过使用以下命令编辑index.php文件来解决此问题:
if(function_exists('wp_content_slider')) {
?>
<div id="slider">
<?php wp_content_slider(); ?>
</div> <!-- #slider -->
<?php } } ?>
所以这个实际上只是在网站的索引页面上创建滑块。 也许你可以根据自己的需要进行编辑,也可以用于nopCommerce。
祝你好运;)