搜索 自定义字段

内容模型管理 > 自定义搜索管理(点击那个你想要自定义搜索的内容模型旁边的那个放大镜的小图标)


然后勾选要搜索的字段,生成下面的代码加入到自己的搜索框即可。



搜索结果页的模板是advancedsearch.htm,第一步是要修改advancedsearch.php,指向自己那个模板目录,这个不难。

但是在搜索结果页中,自定义的字段需要调用出来就还是需要回到advancedsearch.php修改。


1、修改puls/advancedsearch.php文件,找到 
$query = "select arctype.* from $addontable addon 
left join cmsxx_arctype arctype on arctype.id=addon.typeid 
$where $orderby"; 
} else { 
$query = "select main.id as aid,main.*,main.description as description1, type.* 
from $maintable main 
left join cmsxx_arctype type on type.id=main.typeid 
left join $addontable addon on addon.aid=main.id 
$where $orderby"; 
在select后面增加"addon.*," 
 
修改后应该是
$query = "select addon.*, arctype.* from $addontable addon 
left join cmsxx_arctype arctype on arctype.id=addon.typeid 
$where $orderby"; 
} else { 
$query = "select addon.*,main.id as aid,main.*,main.description as description1, type.* 
from $maintable main 
left join cmsxx_arctype type on type.id=main.typeid 
left join $addontable addon on addon.aid=main.id 
$where $orderby"; 

特别注意是dede5.7版本,上面的addon.*,已经存在,但是下面的要自己添加,这样结果页才能用{dede:datalist}中直接调用{dede:field.字段名称/} !!!




如果要做双语站,在自己的模板文件夹下建立多一个advancedsearch_en.htm之外,还要在做多一个plus/advancedsearch_en.php,而且这个要修改,注释掉原来的

if(file_exists(DEDEROOT."/templets/seka/$template"))
{
    $templatefile = DEDEROOT."/templets/seka/$template";
}
else
{
    $templatefile = DEDEROOT."/templets/seka/advancedsearch_en.htm";
}

在下面加入一句

$templatefile = DEDEROOT."/templets/seka/advancedsearch_en.htm";

直接调用而不用判断,否则会用回原来的那个中文版的advancedsearch.htm


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
自定义Django Admin显示字段,可以使用以下步骤: 1. 在您的应用程序中创建一个admin.py文件(如果还没有) 2. 定义一个模型Admin类,并将其注册到Django Admin中 ```python from django.contrib import admin from .models import YourModel class YourModelAdmin(admin.ModelAdmin): list_display = ('field1', 'field2', 'field3') # 您要显示的字段 admin.site.register(YourModel, YourModelAdmin) ``` 3. 在模型Admin类中,使用list_display属性来指定您要在列表页面上显示的字段。您可以指定模型的任何字段,甚至可以使用模型方法来计算字段。 ```python class YourModelAdmin(admin.ModelAdmin): def custom_field(self, obj): return obj.field1 + obj.field2 list_display = ('field1', 'field2', 'custom_field') # 使用自定义字段 admin.site.register(YourModel, YourModelAdmin) ``` 4. 如果您希望在字段中包含HTML代码,例如链接或图像,可以使用safe属性。 ```python class YourModelAdmin(admin.ModelAdmin): def custom_field(self, obj): return '<a href="{0}">{1}</a>'.format(obj.url, obj.name) custom_field.allow_tags = True # 允许包含HTML代码 list_display = ('field1', 'field2', 'custom_field') admin.site.register(YourModel, YourModelAdmin) ``` 5. 最后,在模型Admin类中定义其他方法和属性,以根据需要自定义Django Admin的行为和外观。 ```python class YourModelAdmin(admin.ModelAdmin): def custom_field(self, obj): return '<a href="{0}">{1}</a>'.format(obj.url, obj.name) custom_field.allow_tags = True list_display = ('field1', 'field2', 'custom_field') list_filter = ('field1', 'field2') # 在过滤器中显示其他字段 search_fields = ('field1', 'field2') # 允许搜索其他字段 ordering = ('field1',) # 按其他字段排序 admin.site.register(YourModel, YourModelAdmin) ``` 使用上述步骤,您可以轻松地自定义Django Admin显示字段,并根据需要对其进行进一步自定义
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值