show product link added to admin pannel

This commit is contained in:
Parsa Nazer
2026-02-22 12:48:36 +03:30
parent 102148b693
commit f1f45e4a56
+7 -1
View File
@@ -12,6 +12,7 @@ from unfold.widgets import UnfoldAdminColorInputWidget
from unfold.decorators import action, display from unfold.decorators import action, display
from utils.admin import ModelAdmin from utils.admin import ModelAdmin
from django.shortcuts import redirect, render from django.shortcuts import redirect, render
from django.utils.html import format_html
from .permissions import ProductDetailCategoryPermission, ProductAdminPermission, ProductVariantAdminPermission, ProductVariantInlineAdminPermission, InPackItemsAdminPermission, AttributeTypeAdminPermission, AttributeValueAdminPermission from .permissions import ProductDetailCategoryPermission, ProductAdminPermission, ProductVariantAdminPermission, ProductVariantInlineAdminPermission, InPackItemsAdminPermission, AttributeTypeAdminPermission, AttributeValueAdminPermission
from django import forms from django import forms
@@ -302,7 +303,7 @@ class ProductModelAdmin(ProductAdminPermission, ModelAdmin, ImportExportModelAdm
warn_unsaved_form = True warn_unsaved_form = True
# list_per_page = 2 # list_per_page = 2
actions_list = ['redirect_to_learn', 'update_products_price'] actions_list = ['redirect_to_learn', 'update_products_price']
list_display = ['display_image', 'shop__shop_name','display_price', 'view', 'rating', 'category', 'created_at'] list_display = ['display_image', 'shop__shop_name','display_price', 'view', 'rating', 'category', 'created_at' ,'show_in_website', ]
fieldsets = ( fieldsets = (
('فیلد های اصلی', {'fields': ('name', 'description', 'category', 'image', 'related_products','show_in_trends', 'show_in_most_viewed', 'show_in_lot_of_discount', 'show_in_top_seller', 'shop', 'show_in_bot', 'bot_banner'), "classes": ["tab"],}), ('فیلد های اصلی', {'fields': ('name', 'description', 'category', 'image', 'related_products','show_in_trends', 'show_in_most_viewed', 'show_in_lot_of_discount', 'show_in_top_seller', 'shop', 'show_in_bot', 'bot_banner'), "classes": ["tab"],}),
('فیلد های سيو', {'fields': ('meta_description', 'meta_keywords', 'meta_rating', 'slug'), "classes": ["tab"],}), ('فیلد های سيو', {'fields': ('meta_description', 'meta_keywords', 'meta_rating', 'slug'), "classes": ["tab"],}),
@@ -331,6 +332,11 @@ class ProductModelAdmin(ProductAdminPermission, ModelAdmin, ImportExportModelAdm
return obj.variants.all().first().price return obj.variants.all().first().price
display_price.short_description = 'قیمت تومانی' display_price.short_description = 'قیمت تومانی'
def show_in_website(self, obj):
url = f"https://heymlz.com/product/{obj.slug}"
return format_html('<a href="{}" target="_blank" class="button">نمایش</a>', url)
show_in_website.short_description = 'نمایش در سایت'
@display(description='محصول', header=True) @display(description='محصول', header=True)
def display_image(self, instance): def display_image(self, instance):
if instance and instance.variants.first() and instance.variants.first().images.first(): if instance and instance.variants.first() and instance.variants.first().images.first():