分享给和我一样的小白(自定义字段无错版)交流

zwf99182021-1-11 832

wellcms确实不错,但和我一样的纯小白想用但又不会开发,想要加个字段都难。折腾了好了久才搞好的。自定义了一个主表一个附表,发布和更新都正常。想加别的字段的话直接按上面的加就行了。主要是不会影响升级,先在数据库手动加好对应的字段,把附件解压后将文件中的字段改成你自己的放到插件目录下即可。分享给和我一样的小白吧。哈哈。。。大神就不用看了。

上传的附件:
最新回复(35)
  • 燃烧的冰2021-1-11
    2
    没看代码,不知道开成什么样子。
    但是能拔脓就是好膏药,解决自己需求就是好样的。
  • zwf99182021-1-11
    3

    admin_content_create_post_access_after.php

    <?php exit;
    $my_title = param('my_title');
    $my_message = param('my_message');
    ?>

     

    admin_content_create_post_middle.php

    <?php exit;
    $thread2 = array(
    'smy_title' => $my_title,
    'my_message' => $my_message,
    );
    //合并追加的数组
    $thread = array_merge_recursive($thread, $thread2);
    ?>

     

    admin_content_data_update_before.php

    <?php exit;
    //更新附表
    $update2 = array(
    'my_message' => $my_message,
    );
    //合并追加的数组
    $update = array_merge_recursive($update, $update2);
    ?>

     

    model__thread_create_data_after.php

    <?php exit;
    $data2 = array(
    'my_message' => $my_message,
    );
    //合并追加的数组
    $data = array_merge_recursive($data, $data2);
    ?>

     

    全是这么写的。不会有什么问题吧?

  • zwf99182021-1-11
    4
    燃烧的冰 没看代码,不知道开成什么样子。 但是能拔脓就是好膏药,解决自己需求就是好样的。

    大神指点下

  • rocking2021-1-11
    5
    感谢  我在论坛里开了几次 都没人理我  高手呀  谢谢
  • 可燃的冰2021-1-11
    6
    zwf9918 燃烧的冰 没看代码,不知道开成什么样子。 但是能拔脓就是好膏药,解决自己需求就是好样的。 大神指点下

    因为WELLCMS的数组里并没有预留勾子(数组外面有勾子)。所以他要往里头加字段,就得用合并数组的PHP内置函数array_merge_recursive。要么你就得在里头自个加勾子,但更新时又盖了。

  • 燃烧的冰2021-1-11
    7
    可燃的冰 zwf9918 燃烧的冰 没看代码,不知道开成什么样子。 但是能拔脓就是好膏药,解决自己需求就是好样的。 大神指点下 因为WELLCMS的数组里并没有预留勾子(数组外面有勾子)。所以他要往里头 ...
    数组用留钩子吗?数组是可以直接合并和追加新参数的。

    $arr = array(1, 'test'=> 'test');
    $arr += array(2);
    $arr['type'] = 3;
    $arr['test'] = 5; // 替换test值
    自己试试
  • 可燃的冰2021-1-11
    8
    燃烧的冰 数组用留钩子吗?数组是可以直接合并和追加新参数的。 $arr = array(1, 'test'=> 'test'); $arr += array(2); $arr['type'] = ...

    是的,他就是用PHP内置函数array_merge_recursive合并追加数组字段的。嗯,你这是通过数组自增实现追加效率更高。

    唉,我们怎么都没想到用增加数组下标的方法:简单、强势暴力、安全、高效。说白点就直接扒开插入。

    怪不得你说不要用PHP的高级特性写代码。这下好,连内置函数都用不着了。

  • zwf99182021-1-11
    9
    哈哈。。。
  • zwf99182021-1-11
    10
    燃烧的冰 数组用留钩子吗?数组是可以直接合并和追加新参数的。 $arr = array(1, 'test'=> 'test'); $arr += array(2); $arr['type'] = ...

    如果这样的话,以后官方加了字段那不是还得手动加一次吗?如果直接用array_merge_recursive就不用管官方加不加了。不知道是不是我理解错了?还是说可以覆盖上面的test也可以不用理会直接加?

  • 可燃的冰2021-1-11
    11
    zwf9918 燃烧的冰 数组用留钩子吗?数组是可以直接合并和追加新参数的。 $arr = array(1, 'test'=&gt; 'test'); $arr += array(2); $arr['typ ...
    没错,但不是最高效法。
    最高效法作者说了:数组自增法
    好处是节省内存、优化内存管理
  • mytest2021-1-11
    12
    well 缺的就是你这种好文章.
  • mytest2021-1-11
    13
    没有分享精神,怎能成为一个好社区
  • zwf99182021-1-11
    14
    可燃的冰 没错,但不是最高效法。 最高效法作者说了:数组自增法 好处是节省内存、优化内存管理

    还有一个纠结的地方,看图片的(1)处,意思也就是说只有内容变了才会更新附表,如果我有增加别的附表字段那我是不是得把下面的(2)处挂到外面呢?如果挂到外面那么问题就来了,就像上面说的如果官方加了字段那不是又得手动加上去?

  • sssss2021-1-11
    15
    感谢分享.赞!!
  • 可燃的冰2021-1-12
    16
    zwf9918 哈哈。。。
    你确定发布没问题?
  • zwf99182021-1-12
    17
    确定啊
  • zwf99182021-1-12
    18

    看图

  • well2021-1-12
    19
    zwf9918 看图
    你这是写在well_website_thread表内还是新建的表? 看起来不错
  • zwf99182021-1-12
    20
    well 你这是写在well_website_thread表内还是新建的表? 看起来不错
    字段手动建,表单什么的直接用钩子
  • 可燃的冰2021-1-12
    21
    well 你这是写在well_website_thread表内还是新建的表? 看起来不错
    他是写在写在well_website_thread和写在wellcms_website_data
  • 可燃的冰2021-1-12
    22
    zwf9918 看图

    怪了,我去掉

    admin_content_data_update_before.php
    model__thread_create_data_after.php
    admin_content_update_post_message_before.php

    admin_thread_post_inc_nav_after.htm

    只用主表发现发布时不生效,要重新更新才有效。我还以为是高效写法有问题,但换回用你用的追加函数法也是一样。

  • zwf99182021-1-12
    23
    可燃的冰 zwf9918 看图 怪了,我去掉 admin_content_data_update_before.phpmodel__thread_create_data_after.phpadmin_co ...

    你是不是老版本或者是说少了钩了?如果是新版本并且没改过官方的代码  那就不会错,你可以下个官方的原版试下

  • 可燃的冰2021-1-12
    24
    zwf9918 可燃的冰 zwf9918 看图 怪了,我去掉 admin_content_data_update_before.phpmodel__thread_create_data_after.phpadm ...

    没有,我的是2.1最新版。

    没发现少钩,前端调用我还加了钩了。

     

  • 可燃的冰2021-1-13
    25
    zwf9918 看图
    补坑加上,admin_content_create_get_form_after.php,内容如下:
    <?php exit;
    $form_你的字段名 = $form_你的字段名 = '';
    ?>
  • 敲定吧2021-1-13
    26

    提个建议:

    首先,你插件里没带有install.php

    这里要安装创建所需字段

    看到你插件所需的表是website_data 添加 my_message字段,website_thread 添加 my_title 字段。

    小白好多不会动手添加,再说了,既然是插件,一定要在安装时解决此问题!

    前台也需要加入默认模板内容样式比如在内容页标题下加入这种样式:

    自定义标题   自定义内容12344567789

     

  • 敲定吧2021-1-13
    27
    哈哈,如果能无限添加自定义更好,但得重新设计
  • zwf99182021-1-13
    28
    敲定吧 提个建议: 首先,你插件里没带有install.php 这里要安装创建所需字段 看到你插件所需的表是website_data 添加 my_message字段,website_thread 添加 ...

    哈哈。。我也想啊,但那是大神做的事我是纯小白。字段可以无限加啊。只不过是手动的。嘻嘻 0.0。最起码目前是足够用了。也没有人会要经常加字段。手动加加就好了。。。。

  • zwf99182021-1-13
    29
    可燃的冰 补坑加上,admin_content_create_get_form_after.php,内容如下:
    附件包里已经更新了,加了这个钩子的
  • meinv5202021-1-13
    30
    点赞,这帖子真火,挺实用的,thread_post.inc.htm要是后台栏目能像模板一样按id绑定
    那就更酷了
  • zwf99182021-1-13
    31
    meinv520 点赞,这帖子真火,挺实用的,thread_post.inc.htm要是后台栏目能像模板一样按id绑定 那就更酷了

    可以的啊  自已加个钩子文件
    admin_footer_js_after.htm
    内容为

    <script type=text/javascript>
    $(".custom-select").change(function () {
        var fid = $(".custom-select option:selected").val();
        if(fid == 2){
            $('.diy').css('display', 'none');
        }else{
            $('.diy').css('display', 'block');
        }
    });
    </script>
    按fid来判断在哪个版块显示  .diy 是我自已的样式名  自已改下就好了

  • meinv5202021-1-13
    32
    zwf9918 meinv520 点赞,这帖子真火,挺实用的,thread_post.inc.htm要是后台栏目能像模板一样按id绑定 那就更酷了 可以的啊&nbsp;&nbsp;自已加个钩子 ...
    666,是个好办法
  • 极客主题2021-1-13
    33
    敲定吧 提个建议: 首先,你插件里没带有install.php 这里要安装创建所需字段 看到你插件所需的表是website_data 添加 my_message字段,website_thread 添加 ...
    install.php
    等审核过了去下载就有了。
  • zwf99182021-1-13
    34
    极客主题 install.php 等审核过了去下载就有了。

    没用啊  除非你能在后台直接加字段,如果不能在后台直接加字段的话还是得手动改钩子文件。那就没意义了

  • 可燃的冰2021-1-13
    35
    zwf9918 极客主题 install.php 等审核过了去下载就有了。 没用啊&nbsp;&nbsp;除非你能在后台直接加字段,如果不能在后台直接加字段的话还是得手动改钩子文件。那就没意义 ...
    是的install.php里操作数据库,写入两个字段
  • meinv5202021-1-13
    36

    确实没啥意义,感觉楼主分享到这里已经挺完美的了,写入两个字段也不够用的,每个人的需求不一,除非特定用途的,多自学点东西自己改,数据库操作多参考官方插件开发制作说明,自己用的话手动创建就行了

返回
发新帖