Hi,
What you could do is goto Admin > Catalog > Categories and then tick the show on home page and save, this will show all categories on home page.
Regarding the buy it now button, what I have done is used the ProductBox1.ascx and Implemented it into the HomePageProducts.ascx like so;
<%@ Control Language="C#" AutoEventWireup="true" Inherits="NopSolutions.NopCommerce.Web.Modules.HomePageProductsControl"
CodeBehind="HomePageProducts.ascx.cs" %>
<%@ Register TagPrefix="nopCommerce" TagName="ProductBox1" Src="~/Modules/ProductBox1.ascx" %>
<div class="home-page-product-grid">
<div class="boxtitle">
<%=GetLocaleResourceString("HomePage.FeaturedProducts")%>
</div>
<div class="clear">
</div>
<div class="">
<asp:DataList ID="dlProducts" runat="server" RepeatColumns="2" RepeatDirection="Horizontal"
RepeatLayout="Table" ItemStyle-CssClass="item-box">
<ItemTemplate>
<nopCommerce:ProductBox1 ID="ctrlProductBox" Product='<%# Container.DataItem %>' runat="server" />
</ItemTemplate>
</asp:DataList>
</div>
</div>
HomePageProducts.ascx.cs;
using System;
using System.Collections;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Text;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using NopSolutions.NopCommerce.BusinessLogic;
using NopSolutions.NopCommerce.BusinessLogic.Categories;
using NopSolutions.NopCommerce.BusinessLogic.Media;
using NopSolutions.NopCommerce.BusinessLogic.Products;
using NopSolutions.NopCommerce.BusinessLogic.SEO;
using NopSolutions.NopCommerce.Common.Utils;
using NopSolutions.NopCommerce.BusinessLogic.Configuration.Settings;
using NopSolutions.NopCommerce.BusinessLogic.Tax;
using NopSolutions.NopCommerce.BusinessLogic.Directory;
namespace NopSolutions.NopCommerce.Web.Modules
{
public partial class HomePageProductsControl : BaseNopUserControl
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
BindData();
}
}
private void BindData()
{
var products = ProductManager.GetAllProductsDisplayedOnHomePage();
if (products.Count > 0)
{
dlProducts.DataSource = products;
dlProducts.DataBind();
}
else
{
this.Visible = false;
}
}
}
}
You will need to restyle.. the css
Hope this helps, if you need more assistance let me know..