جستجو
منو بسته
3 بهمن 1403

قرار دادن تاریخ و ساعت در هدر سایت , سمت کاربر

6 سال پیش
#1063
سلام دوستان عزیز
قصد داشتم که تاریخ و زمان را ه با فرمتی مشابه پایین صفحه ادمین در قسمت کاربر عادی در هدر سایت هم بیاورم ...




به این صورت :     شنبه 18 فروردین 1397 08:47 بعد از ظهر
برای همین از view ادمین با ادرس زیر استفاده کردم
Administration\Views\Shared\_AdminLayout.cshtml
که کدش هم به اینصورت است :

<div class="text-center">
                    @{
                        var dateTimeHelper = EngineContext.Current.Resolve<Nop.Services.Helpers.IDateTimeHelper>();
                        var workContext = EngineContext.Current.Resolve<IWorkContext>();
                        var currentCulture = new CultureInfo(workContext.WorkingLanguage.LanguageCulture);
                    }
                    @dateTimeHelper.ConvertToUserTime(DateTime.Now).ToString("f", currentCulture)
             <div/>

اما جواب نداد.

لطفا راهنمایی نمایید که چطور این کار را انجام دهم.


نقل قول
1
6 سال پیش
#1064
سلام.
لطفا بفرمایید شما کد رو دقیقادر کجای بخش کاربری قرار دادین؟
نقل قول
1
6 سال پیش
#1068
سلام.
اگر از تم پاویلیون استفاده میکنید در داخل فولدر Shared یه فایل با نام _Header.cshtml هست که در داخل اون بصورت زیر میتونید تغییرات خودتون رو اعمال کنید.

<div class="header">
    <h1>@DateTime.Now</h1>
    
@await Component.InvokeAsync("Widget", new { widgetZone = "header" })

    <div class="header-upper">
        <div class="center">
            @await Component.InvokeAsync("AdminHeaderLinks")
...
...
....



اما اگر منظورتون تم پیش فرض هست:
در تم پیش فرض در داخل فولدر Shared درون فایل Head.cshtml میتونید این کار رو بصورت زیر انجام دهید.:

@using Nop.Core
@using Nop.Services.Helpers
@using Nop.Web.Framework.UI
@inject IWorkContext workContext
@inject IThemeContext themeContext
@inject IUserAgentHelper userAgentHelper
@{
    var supportRtl = workContext.WorkingLanguage.Rtl;
    var themeName = themeContext.WorkingThemeName;
    var isIe8 = userAgentHelper.IsIe8();

    //add browser specific CSS files
    if (isIe8)
    {
        Html.AppendCssFileParts($"~/Themes/{themeName}/Content/css/ie8.css");
    }
    //add main CSS file
    if (supportRtl)
    {
        Html.AppendCssFileParts($"~/Themes/{themeName}/Content/css/styles.rtl.css");
    }
    else
    {
        Html.AppendCssFileParts($"~/Themes/{themeName}/Content/css/styles.css");
    }
    //add jQuery UI css file
    Html.AppendCssFileParts("~/lib/jquery-ui-themes/smoothness/jquery-ui-1.10.3.custom.min.css");
    //add browser specific JS files
    if (isIe8)
    {
        Html.AddScriptParts(ResourceLocation.Footer, "~/lib/selectivizr.min.js");
        Html.AddScriptParts(ResourceLocation.Footer, "~/lib/respond.min.js");
    }
}
<h1>@DateTime.Now</h1>

نقل قول
1
6 سال پیش
#1069
اما اگر دقیقا نحوه کدنویسی برای تاریخ در بخش ادمین مدنظر هست کد باید بصورت زیر باشد:

@using System.Globalization
@using Nop.Core
@using Nop.Core.Infrastructure
@using Nop.Services.Helpers
@using Nop.Web.Framework.UI
@inject IWorkContext workContext
@inject IThemeContext themeContext
@inject IUserAgentHelper userAgentHelper
@inject IWorkContext WorkContext
@{
    var supportRtl = WorkContext.WorkingLanguage.Rtl;
    var themeName = themeContext.WorkingThemeName;
    var isIe8 = userAgentHelper.IsIe8();

    //add browser specific CSS files
    if (isIe8)
    {
        Html.AppendCssFileParts($"~/Themes/{themeName}/Content/css/ie8.css");
    }
    //add main CSS file
    if (supportRtl)
    {
        Html.AppendCssFileParts($"~/Themes/{themeName}/Content/css/styles.rtl.css");
    }
    else
    {
        Html.AppendCssFileParts($"~/Themes/{themeName}/Content/css/styles.css");
    }
    //add jQuery UI css file
    Html.AppendCssFileParts("~/lib/jquery-ui-themes/smoothness/jquery-ui-1.10.3.custom.min.css");
    //add browser specific JS files
    if (isIe8)
    {
        Html.AddScriptParts(ResourceLocation.Footer, "~/lib/selectivizr.min.js");
        Html.AddScriptParts(ResourceLocation.Footer, "~/lib/respond.min.js");
    }
}
<div class="text-center">
    @{
        var dateTimeHelper = EngineContext.Current.Resolve<Nop.Services.Helpers.IDateTimeHelper>();
        var currentCulture = new CultureInfo(WorkContext.WorkingLanguage.LanguageCulture);
    }
    @dateTimeHelper.ConvertToUserTime(DateTime.Now).ToString("f", currentCulture)
    <div />



اگر هم خواستید در راستای سکشن لینک مدیریت آن را قرا دهید ،بدیهی است که شما باید تغییرات خود را در ویوی AdminHeaderLinks انجام دهید.مسیر این ویو بصورت زیر هست:
Views/Shared/Components/AdminHeaderLinks/Default.cshtml
شما میتونید حتی این بخش رو در تم خود آوراید(Override) کنید.(کافس است در تم مربوطه در پوشه Views و سپس پوشه Shared یک پوشه Components که در صورتی که وجود ندارد ایجاد نموده و فولدر AdminHeaderLinks اصلی را در آن کپی نمایید.سپس در ایین محل تغییرات لازم انجام دهید.)
نقل قول
2
6 سال پیش
#1090
سلام آقا حمید
ابتدا عذرخواهی بابت تاخیر در پیگیری سوالم
و بعد تشکر از پاسخ های شما دوست عزیز
و بعد پاسخ سوال قسمت 1064 که شما پرسیدید ...

من کدی که در بالا گفته بودم را در فایل header.cshtml  در پوشه shared  در تم پاویلیون گذاشته بودم.
داخل این قسمتش
<div class="header-upper">
        <div class="center">
نقل قول
0
6 سال پیش
#1091
حمید جان ...
لطفا با توجه به پاسخ بنده , الان یک راه حل بدید.
یک راه حل باشه لطفا ... من الان واقعا نمیدونم کدوم یک از راه حل های شما را به کار ببرم.
لطفا راه حلتون کامل باشه و نکته دیگر اینکه استایل هم به هم نریزه

با تشکر و درود فراوان
نقل قول
0
6 سال پیش
#1092
سلام دوست عزیز.
بنده موارد اهم کار رو عرض کردم و مابقی برمی گرده به سلیقه شما که از چه استایلی و چه Layoutی استفاده کنید.موقعیت های موردنظر رو هم نشون دادم.این دیگه سلیقه ای هست که کجا چطور نشان دهید.
بطور مثال شما میتوانید یک Div در بالاترین قسمت ممکن صفحه نخست (در پست قبل این مورد رو توضیح دادم)با بک گراند مشکلی و رنگ متن سفید ایجاد کرده و اون رو از طریق bootstrap و با استفاده از col-md- مثلا به سه قسمت تقسیم کنید و در سمت راست تاریخ رو با فرمت مدنظر که قبلا عرض کردم نمایش دهید.
همچنین یک نمونه پلاگین رایگان در سایت ناپ شاپ هست با نام HeaderContactDetails که میتوانید برای شروع از اون ایده بگیرید:
[url=/header-contact-details]نمایش اطلاعات[/url]

موفق باشید.
نقل قول
2
09127857628