联系官方销售客服

1835022288

028-61286886

POSCMS 版主:POSCMS负责人
diy\poscms\field\Related.php关联
类型:POSCMS 更新时间:2019-06-26 14:47:16 php

diy\poscms\field\Related.php

关联内容时候只显示标题,希望改成同时显示缩略图。

image.png


发布和编辑时候显示效果如下(红色标记为图):

image.png




回帖
  • 资阳胖子
    #1楼    资阳胖子
    2019-06-26 07:23:52
    0
    <img src="{dr_get_file($t.thumb)}">
  • 晕菜菜
    #2楼    晕菜菜
    2019-06-26 08:43:20
    0
    不可以哦!核心文件不可以这么写的资阳胖子
  • 悲剧的石头
    #3楼    悲剧的石头
    2019-06-26 09:25:32
    0
    代码不要截图
  • 晕菜菜
    #4楼    晕菜菜
    2019-06-26 10:41:41
    0
    悲剧的石头<?php/** * POSCMS框架文件 * 二次开发时请勿修改本文件 * 成都天睿信息技术有限公司 www.phpkaiyuancms.com */class F_Related extends A_Field { /** * 构造函数 */ public function __construct() { parent::__construct(); $this->name = fc_lang('内容关联'); // 字段名称 $this->fieldtype = array('TEXT' => ''); // TRUE表全部可用字段类型,自定义格式为 array('可用字段类型名称' => '默认长度', ... ) $this->defaulttype = 'TEXT'; // 当用户没有选择字段类型时的缺省值 } /** * 字段相关属性参数 * * @param array $value * @return string */ public function option($option) { $_option = ''; $_module = $this->ci->get_cache('module', SITE_ID); if ($_module) { foreach ($_module as $dir) { $_option.= '<option value="'.$dir.'" '.($dir == $option['module'] ? 'selected' : '').'>'.$dir.'</option>'; } } $option['width'] = isset($option['width']) ? $option['width'] : '90%'; return '<div class="form-group"> <label class="col-md-2 control-label">'.fc_lang('模块').':</label> <div class="col-md-9"> <label><select class="form-control" name="data[setting][option][module]"> '.$_option.' </select></label> <span class="help-block">'.fc_lang('必须选择一个模块作为关联数据源').'</span> </div> </div> <div class="form-group"> <label class="col-md-2 control-label">'.fc_lang('宽度').':</label> <div class="col-md-9"> <label><input type="text" class="form-control" size="10" name="data[setting][option][width]" value="'.$option['width'].'"></label> <span class="help-block">'.fc_lang('[整数]表示固定宽带;[整数%]表示百分比').'</span> </div> </div> <div class="form-group"> <label class="col-md-2 control-label">'.fc_lang('最大显示数量').':</label> <div class="col-md-9"> <label><input type="text" class="form-control" size="10" name="data[setting][option][limit]" value="'.$option['limit'].'"></label> <span class="help-block">'.fc_lang('关联列表搜索结果最大显示数量,默认50条').'</span> </div> </div> <div class="form-group"> <label class="col-md-2 control-label">'.fc_lang('友情提示').':</label> <div class="col-md-9"> <div class="form-control-static">'.fc_lang('此字段不能参与搜索条件筛选').'</div> </div> </div>'; } /** * 字段输出 */ public function output($value) { return $value; } /** * 字段入库值 */ public function insert_value($field) { $data = $this->ci->post[$field['fieldname']]; $value = !$data ? '' : implode(',', $data); $this->ci->data[$field['ismain']][$field['fieldname']] = $value; } /** * 字段表单输入 * * @param string $cname 字段别名 * @param string $name 字段名称 * @param array $cfg 字段配置 * @param string $value * @return string */ public function input($cname, $name, $cfg, $value = NULL, $id = 0) { // 字段显示名称 $text = (isset($cfg['validate']['required']) && $cfg['validate']['required'] == 1 ? '<font color="red">*</font>' : '').''.$cname.':'; // 表单宽度设置 $width = isset($cfg['option']['width']) && $cfg['option']['width'] ? $cfg['option']['width'] : '80%'; // 表单附加参数 $attr = isset($cfg['validate']['formattr']) && $cfg['validate']['formattr'] ? $cfg['validate']['formattr'] : ''; // 字段提示信息 $tips = isset($cfg['validate']['tips']) && $cfg['validate']['tips'] ? '<span class="help-block" id="dr_'.$name.'_tips">'.$cfg['validate']['tips'].'</span>' : ''; // 禁止修改 $disabled = !IS_ADMIN && $id && $value && isset($cfg['validate']['isedit']) && $cfg['validate']['isedit'] ? 'disabled' : ''; // 模块名称 $module = isset($cfg['option']['module']) ? $cfg['option']['module'] : ''; // $tpl = '<li id="files_'.$name.'_{id}" style="padding-right:10px;cursor:move;border-bottom: 1px solid #EEEEEE;"><a href="javascript:;" onclick="dr_remove_file(\''.$name.'\',\'{id}\')"><img align="absmiddle" src="'.THEME_PATH.'admin/images/b_drop.png"></a>&nbsp;{value}<input type="hidden" name="data['.$name.'][]" value="{id}"></li>'; // $str = '<fieldset class="blue pad-10" style="width:'.$width.(is_numeric($width) ? 'px' : '').';">'; $str.= '<legend>'.$cname.'</legend>'; $str.= '<div class="picList">'; $str.= '<ul class="'.$name.'-sort-items" id="dr_list_'.$name.'" style="max-height: 400px;overflow-y: auto;">'; $value = @trim($value, ','); if ($value && is_string($value)) { $query = $this->ci->db->query('select id,title,url,thumb from '.$this->ci->db->dbprefix(SITE_ID.'_'.$module).' where id IN ('.$value.') order by instr("'.$value.'", id)')->result_array(); foreach ($query as $t) { $id = $t['id']; $value = '<a href="'.$t['url'].'" target="_blank">'.$t['thumb'].'</a>'; $str.= str_replace(array('{id}', '{value}'), array($id, $value), $tpl); } } $str.= '</ul>'; $str.= '</div>'; $str.= '<div class="bk10"></div>'; if(!defined('FINECMS_LINKAGE_INIT_LD')) { define('FINECMS_LINKAGE_INIT_LD', 1); $str.= '<script type="text/javascript" src="'.THEME_PATH.'js/jquery.ld.js"></script>'; } $str.= ' <script type="text/javascript"> function dr_add_related_'.$name.'() { art.dialog.open("/index.php?s=member&c=api&m=related&site='.SITE_ID.'&module='.$module.'&limit='.intval($cfg['option']['limit']).'", { title: "'.$cname.'", opacity: 0.1, width: 700, height: 400, ok: function () { var iframe = this.iframe.contentWindow; if (!iframe.document.body) { alert("iframe loading") return false; }; var id; var value; var err = 0; var select = iframe.document.getElementsByName("ids[]"); for (var i=0; i < select.length; i++) { if (select[i].checked) { id = select[i].value; value = iframe.document.getElementById("dr_row_"+id).innerHTML; if ($("#files_'.$name.'_"+id).size() == 0) { var html = \''.addslashes(str_replace(array("\r", "\n", "\t", chr(13)), '', $tpl)).'\'; html = html.replace(/{id}/g, id); html = html.replace(/{value}/g, value); $("#dr_list_'.$name.'").append(html); } else { err ++; } } } if (err > 0) { dr_tips("有"+err+"条记录已经存在了"); } }, cancel: true }); } $(".'.$name.'-sort-items").sortable(); </script> </fieldset>'; $str.= '<div class="bk10"></div>'; $str.= '<button type="button" class="btn blue btn-sm" onClick="dr_add_related_'.$name.'()"> <i class="fa fa-plus"></i> 添加</button>'; $str.= $tips; return $this->input_format($name, $text, $str); }}文件路径:diy\poscms\field\Related.php
  • skyep
    #5楼    skyep
    2019-06-26 14:09:15
    0

    $value = '<a target="_blank" href="'.$t['url'].'" target="_blank">'.$t['thumb'].'</a>';

    $str.= str_replace(array('{id}', '{value}'), array($id, $value), $tpl);
    改成

    $value = '<a target="_blank" href="'.$t['url'].'" target="_blank">'.$t['title'].'<img src="'.dr_get_file($t['thumb']).'"></a>';

    $str.= str_replace(array('{id}', '{value}'), array($id, $value), $tpl);

  • 晕菜菜
    #6楼    晕菜菜
    2019-06-26 14:12:11
    0
    skyep
    image.png
    这个不对哦!显示是数字呢!
  • 晕菜菜
    #7楼    晕菜菜
    2019-06-26 14:13:08
    0
    skyep路径没有问题,就是这个屌毛数字怎么转换成文件名!
  • Mark
    #8楼    Mark
    2019-06-26 14:33:02
    0
    你不是单文件吗?
  • 农村人
    #9楼    农村人
    2019-06-26 14:35:41
    0

    $img = dr_string2array($t['thumb']); // 图片专用字段

    $value = '<a target="_blank" target="_blank" href="'.$t['url'].'" target="_blank">'.$t['title'].'<img src="'.dr_get_file($img[0]).'"></a>';

    $str.= str_replace(array('{id}', '{value}'), array($id, $value), $tpl);

    满意答案
  • 晕菜菜
    #10楼    晕菜菜
    2019-06-26 14:47:16
    0
    @农村人:跪谢大神~谢谢啦~