Template Errors: PAGE_CONTAINER

  1. htmlspecialchars() expects parameter 1 to be string, array given in /var/www/nopviet/library/XenForo/Template/Abstract.php(279) : eval()'d code, line 2338:
    2337: {
    2338: $__compilerVar175 .= '<a href="' . htmlspecialchars($xenOptions['privacyPolicyUrl'], ENT_QUOTES, 'UTF-8') . '">' . 'Privacy Policy' . '</a>';
    2339: }
    

Tạo thêm nhóm sản phẩm trong trang chủ

Thảo luận trong 'Developer' bắt đầu bởi An Nguyen, 14/10/14.

  1. An Nguyen

    An Nguyen bụi Staff Member

    Bài viết:
    420
    Điểm:
    28
    Nơi ở:
    Biên Hòa
    Trang chủ:
    Đây chỉ là giải pháp tạm thời :).

    Về cơ bản, nó được xây dựng trên mô hình related products (sản phẩm liên quan).

    Ý tưởng ở đây là lấy các sản phẩm chưa public để hiển thị nhóm sản phẩm lên trang chủ, và mỗi nhóm có các sản phẩm liên quan.

    Vì vậy, bạn sẽ có nhiều nhóm giống như các trang category sản phẩm riêng biệt trên homepage.

    Tóm tắt gồm các bước sau:

    - Bước 1: Tạo một setting để lưu thông tin về bao nhiêu sản phẩm và sản phẩm nào sẽ hiện thị trên homepage.
    - Bước 2: Tạo một partial view sẽ tạo ra các danh mục riêng biệt trên homepage
    - Bước 3: Thêm partial view này ra homepage view.
    - Bước 4: Re-style (sửa lại) giao diện khu vực sản phẩm liên quan
    - Bước 5: Tạo một vài dữ liệu để kiểm tra :)

    Nguồn: ima9ines
     
    Sửa lần cuối: 12/1/16
    Tags:
    Đang tải...


  2. An Nguyen

    An Nguyen bụi Staff Member

    Bài viết:
    420
    Điểm:
    28
    Nơi ở:
    Biên Hòa
    Trang chủ:
    Bước 1 Tạo setting

    - Vào Admin > Configuration > Settings > All Settings (Advanced)
    - Nhấn vào nút "+ Add new record"
    - Nhập các giá trị sau:
    + Setting name: "homepagesettings.groupids"
    + Value: nhập một vài id sản phẩm chưa publish (vd.: 55, 56) - cách bởi dấu phẩy
    + Store: chọn store ưa thích
     
    Sửa lần cuối: 12/1/16
  3. An Nguyen

    An Nguyen bụi Staff Member

    Bài viết:
    420
    Điểm:
    28
    Nơi ở:
    Biên Hòa
    Trang chủ:
    Bước 2 Tạo partial view cho các nhóm danh mục tách riêng biệt

    - Tạo partial view "_SeparatedProductGroup.cshtml" đặt trong thư mục "Themes/DefaultClean/Views/Home"
    - Nhập đoạn mã bên dưới vào:

    PHP:
    @using Nop.Core.Domain.Catalog
    @using Nop.Core.Infrastructure
    @using Nop.Services.Catalog
    @using Nop.Services.Configuration
    @{
    var 
    engineContext EngineContext.Current;
    var 
    settingService engineContext.Resolve<ISettingService>();
    var 
    productService engineContext.Resolve<IProductService>();

    var 
    homepageGroups Enumerable.Empty<Product>();
    var 
    idsValue settingService.GetSettingByKey<string>("homepagesettings.groupids");
    if (!
    string.IsNullOrEmpty(idsValue))
    {
    var 
    idList idsValue.Split(',');
    if (
    idList.Any())
    {
    homepageGroups idList.Select(=> productService.GetProductById(Int32.Parse(i)));
    }
    }
    }
    @if (
    homepageGroups.Any())
    {
    <
    div class="homepage-product-categories">
    @foreach (var 
    homepageGroup in homepageGroups)
    {
    <
    section class="homepage-product-category">
    <
    header>@homepageGroup.Name</header>
    @
    Html.Action("RelatedProducts""Product", new { productId homepageGroup.Id })
    </
    section>
    }
    </
    div>
    }
     
    Sửa lần cuối: 17/2/16
  4. An Nguyen

    An Nguyen bụi Staff Member

    Bài viết:
    420
    Điểm:
    28
    Nơi ở:
    Biên Hòa
    Trang chủ:
    Bước 3 Thêm partial view nhóm danh mục tách biệt tới homepage view

    - Copy view "Home/Index.cshtml" vào thư mục "Themes/DefaultClean/Views/Home"
    - Thêm partial view vừa tạo vào:
    TRƯỚC

    PHP:
    @{
        
    Layout "~/Views/Shared/_ColumnsThree.cshtml";
    }
    <
    div class="page home-page">
        <
    div class="page-body">
            @
    Html.Widget("home_page_top")
            @
    Html.Action("TopicBlock""Topic", new { systemName "HomePageText" })
            @
    Html.Action("HomepageCategories""Catalog")
            @
    Html.Action("HomepageProducts""Product")
            @
    Html.Action("HomepageBestSellers""Product")
            @
    Html.Action("HomePageNews""News")
            @
    Html.Action("HomePagePolls""Poll")
            @
    Html.Widget("home_page_bottom")
        </
    div>
    </
    div>
    SAU

    PHP:
    @{
        
    Layout "~/Views/Shared/_ColumnsThree.cshtml";
    }
    <
    div class="page home-page">
        <
    div class="page-body">
            @
    Html.Widget("home_page_top")
            @
    Html.Action("TopicBlock""Topic", new { systemName "HomePageText" })
            @
    Html.Action("HomepageCategories""Catalog")
            @
    Html.Action("HomepageProducts""Product")
            @
    Html.Action("HomepageBestSellers""Product")
            @
    Html.Action("HomePageNews""News")
            @
    Html.Action("HomePagePolls""Poll")
            @
    Html.Partial("_SeparatedProductGroup")
            @
    Html.Widget("home_page_bottom")
        </
    div>
    </
    div>
     
    Sửa lần cuối: 17/2/16
  5. An Nguyen

    An Nguyen bụi Staff Member

    Bài viết:
    420
    Điểm:
    28
    Nơi ở:
    Biên Hòa
    Trang chủ:
    STEP 4 Sửa lại giao diện khu vực sản phẩm liên quan

    - Mở file "Themes/DefaultClean/Content/styles.css"
    - Thêm những dòng này vào cuối cùng.
    Mã:
    .homepage-product-category .related-products-grid.product-grid .title{
    display: none;
    }
     
    Sửa lần cuối: 12/1/16
  6. An Nguyen

    An Nguyen bụi Staff Member

    Bài viết:
    420
    Điểm:
    28
    Nơi ở:
    Biên Hòa
    Trang chủ:
    STEP 5 Tạo dữ liệu mẫu

    - Vào Admin > Catalog > Products > Manage Products
    - Thêm 2 sản phẩm mới bỏ chọn thuộc tính "Published" (ex.: 2 sản phẩm mới có id: 55, 56)
    - Truy cập tab "Related products" trong mỗi sản phẩm(đã tạo ở trên), thêm vai sản phẩm liên quan
    - Vào Admin > Configuration > Settings > All Settings (Advanced)
    - cập nhật id sản phẩm vừa tạo "55, 56" vào ô value của "homepagesettings.groupids"
    - Cuối cùng, khởi động lại ứng dụng hoặc reset IIS có có hiệu lực

    Chúc mọi người thành công :)
     
    Sửa lần cuối: 12/1/16
  7. An Nguyen

    An Nguyen bụi Staff Member

    Bài viết:
    420
    Điểm:
    28
    Nơi ở:
    Biên Hòa
    Trang chủ:
    update thêm hình
     
  8. KenMT

    KenMT NopActive

    Bài viết:
    41
    Điểm:
    8
    Em là em sộc thẳng vào controller viết hàm luôn :D
     
    An Nguyen thích bài này.
  9. An Nguyen

    An Nguyen bụi Staff Member

    Bài viết:
    420
    Điểm:
    28
    Nơi ở:
    Biên Hòa
    Trang chủ:
    bạn chỉ mình làm được không, cái này áp dụng cho 3.4 đưa lên 3.7 k chạy
    bạn chắc chuyên về nop à
     
  10. KenMT

    KenMT NopActive

    Bài viết:
    41
    Điểm:
    8
    Có phải mục đích ở đây là tạo thêm 1 nhóm sản phẩm nữa hiển thị trên trang chủ như cái HomepageProducts ko ạ hay như thế nào ạ?
     
  11. KenMT

    KenMT NopActive

    Bài viết:
    41
    Điểm:
    8
    Hì dạ ko, em phọt phẹt thôi customize từ những cái đã có thôi :D
     
  12. An Nguyen

    An Nguyen bụi Staff Member

    Bài viết:
    420
    Điểm:
    28
    Nơi ở:
    Biên Hòa
    Trang chủ:
    đúng rồi, giống như homepage product vậy, nhưng làm nhiều nhóm danh mục sản phẩm trên trang chủ
     
  13. KenMT

    KenMT NopActive

    Bài viết:
    41
    Điểm:
    8
  14. An Nguyen

    An Nguyen bụi Staff Member

    Bài viết:
    420
    Điểm:
    28
    Nơi ở:
    Biên Hòa
    Trang chủ:
    cũng gần giốn như vậy, nhưng mỗi category gồm nhiều sản phẩm, giống như trang này nè
    https://www.lindadress.com/
     
  15. KenMT

    KenMT NopActive

    Bài viết:
    41
    Điểm:
    8
    An Nguyen thích bài này.
Draft saved Draft deleted

Chia sẻ trang này

Đang tải...