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 utils.admin import ModelAdmin
from django.shortcuts import redirect, render
from django.utils.html import format_html
from .permissions import ProductDetailCategoryPermission, ProductAdminPermission, ProductVariantAdminPermission, ProductVariantInlineAdminPermission, InPackItemsAdminPermission, AttributeTypeAdminPermission, AttributeValueAdminPermission
from django import forms
@@ -302,7 +303,7 @@ class ProductModelAdmin(ProductAdminPermission, ModelAdmin, ImportExportModelAdm
warn_unsaved_form = True
# list_per_page = 2
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 = (
('فیلد های اصلی', {'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"],}),
@@ -331,6 +332,11 @@ class ProductModelAdmin(ProductAdminPermission, ModelAdmin, ImportExportModelAdm
return obj.variants.all().first().price
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)
def display_image(self, instance):
if instance and instance.variants.first() and instance.variants.first().images.first():