分享
  • 收藏
  • 举报
    X
    求助!随机调用CMS多有内容的链接地址!
    591
    26

      介绍情况:



    我想随机调用CMS内所有内容的链接地址,随机的!前台调用这个函数 然后前台每次点击进入的内容就不一样,但是这个内容就是CMS里面 别的例如论坛什么的都不调用!


    例如:  http://192.168.43.187/dsp/content/show/id/24.html    这个网址我想做成http://192.168.43.187/dsp/content/show/id/随机.html



    通过标签解决了 但是需要的是fun方式


    {qb:tag name="dspsuiji01" time="-1" type="dsp" rows="1" order="rand()" by="asc" status="rand()" mid="3"}

    <a href="{$rs.url}">

    {/qb:tag}






    目的:通过一个动态链接调用 cms内的所有内容进行随机。


    现状:当前情况修改后 是只能在当前栏目下里面的内容随机。


    感谢码农给的这个方法。

    复制Content出来修改.

    app\common\fun\Content


    order("$order desc,id desc")
    order('id',$by)

    分别替换 orderRaw('rand()')




      恳请大家帮忙解决下。


    效果演示:打开抖音 底部导航有个首页  点击 就可以看到效果。

    7
    赏礼
    赏钱
    收藏
    点击回复
        全部留言
    • 26
    • 阿赖耶识 程序开发者 消费:24.43元 2020-06-29 23:57 23:576楼

      很简单的,给你一个我自己用的fun函数

      <?php
      namespace app\common\fun;
      use think\Db;
      
      class Myfun
      {
          /**
           * @param string $mo  模块名称
           * @param array $map  判断条件
           * @param int $rows  行数
           * @return unknown|array|void
           */
          public function getRandUrl($mo='cms',$map=[],$rows=1){
              $rows > 1 ? $fx = 'column' : $fx = 'value' ;
              $randid = Db::name($mo.'_content')->where($map)->orderRaw('rand()')->limit($rows)->$fx('id');
               if($rows==1){
                   $data =   Content::info($randid,$mo);
               }else{
                   foreach ($randid AS $v){
                       $data[] = Content::info($v,$mo);
                   }
               }
      
                return  $data;
          }
      }



      保存到fun下


      参数说明: 

      第一个:模块名称 比如cms

      第二个:判断条件,比如要筛选mid=3的  那就  ['mid'=>3]

      第三个:一次随机多少行,默认是一个,如果多个直接写数字即可


      模板调用方式

      //默认是一条数据,直接调用就好
      
      {:fun("Myfun@getRandUrl",cms)['url']}  // ['url'] 可以换成任意字段,你需要url就是url
      
      
      
      //多条数据的用volist循环
      {volist name=":fun('Myfun@getRandUrl',cms,[],10)" id="vo"}
          {$vo.url}<br />
      {/volist}

      效果:

      兰的李先生 消费:450.65元 2020-06-29 23:58
      我试试!
      兰的李先生 消费:450.65元 2020-06-29 23:59
      随机的吗?
      阿赖耶识 消费:24.43元 2020-06-30 00:01
      @兰的李先生 随机的
      奋斗 消费:11元 其他手机 2020-06-30 06:39
      阿赖真是个好人
      DZ12345 消费:0元 2020-06-30 09:18
      好人啊
    0 赏钱 赏礼回复
    • 银杏114在线 实战运营者 消费:3609.79元 2020-06-30 00:57 00:57
      华为
      6楼
      路过学习下
    0 赏钱 赏礼回复
    • 平行线网络01 实战运营者 消费:3115.99元 2020-06-29 23:18 23:186楼
      我明白你的意思,是想把你视频模板,一个首页或相关栏目,做成随机刷新展示给客户,吸引力增加,这种模式其实是类似于:<字节跳动>公司千人千面的AI人工智能算法,我们齐博CMS+数据库,功能有限,你这种功能问一下龙城只有他知道能做出多大化的程度。齐博代码是一他十几年一手创造的,每个细节都了解经验多,能给你好的建议。希望你能开发出像小火山视频软件一样的模板让大家可以良好的运营小视频栏目 。祝你成功。
      北京字节跳动科技有限公司,成立于2012年3月,是最早将人工智能应用于移动互联网场景的科技企业之一,是中国北京的一家信息科技公司,地址位于北京市海淀区知春路甲48号 [1]  。公司以建设“全球创作与交流平台”为愿景。 [2]  字节跳动的全球化布局始于2015年 [3]  ,“技术出海”是字节跳动全球化发展的核心战略 [4]  。
      字节跳动人工智能实验室成立于2016年 [5]  ,旨在针对人工智能相关领域的长期性和开放性问题进行探索,帮助公司实现对未来发展的构想 [6]  。其独立研发的“今日头条”客户端,通过海量信息采集、深度数据挖掘和用户行为分析,为用户智能推荐个性化信息,从而开创了一种全新的新闻阅读模式。
      兰的李先生 消费:450.65元 2020-06-29 23:19
      没有你想的这个复杂化!
      平行线网络01 消费:3115.99元 2020-06-29 23:22
      @兰的李先生 等老大有时间了,看看他有什么好的建议给你、
      兰的李先生 消费:450.65元 2020-06-29 23:23
      @平行线网络01 嗯!根据我所了解的!X1是可以实现这些功能的 通过收藏夹也就是类似抖音的点赞 进行相同数据识别关键字进行推荐给用户!只是这个链接我弄不出来!
      平行线网络01 消费:3115.99元 2020-06-29 23:27
      @兰的李先生 聊天是解决问题最好的办法 ,技术表达他们没看明白,我们普通话聊天就把你想实现的思路说出来了,龙城老大应该知道怎么解决,
      平行线网络01 消费:3115.99元 2020-06-29 23:31
      @兰的李先生 要不找到相关调用函数,只调用相关栏目,然后页面显示文章标题,这样客户看到也可以打开
    0 赏钱 赏礼回复
    • 寻寻觅觅 风格开发者 消费:1134.78元 2020-06-29 23:11 23:116楼
      前台 标签 有个随机排序 每次刷新会得到不同的 地址
      兰的李先生 消费:450.65元 2020-06-29 23:13
      问题是不能用这样的 只能用fun 例如 {:fun('Suiji@prev_url',$info)} 这里面怎么增加筛选或者 其他的非标签方式!
      兰的李先生 消费:450.65元 2020-06-29 23:14
      只要不是标签行为就可以!
      寻寻觅觅 消费:1134.78元 2020-06-29 23:28
      https://x1.php168.com/bbs/show-15640.html ; 学习一下 随风的 万能fun 调用任意数据表 任意字段调用
      寻寻觅觅 消费:1134.78元 2020-06-29 23:29
      fun('wanneng@get_column',105,'cms_content1','id,uid,title','view');  这应该就是你想要的
    0 赏钱 赏礼回复
    • 码农 程序开发者 消费:0元 2020-06-29 20:54 20:546楼

      你的问题.有点含糊, 你是想得到随机一篇内容吗? 直接操作数据库吧

      {:tempdir(json_decode(query('select * from qb_cms_content3  order by rand() limit 1')[0]['mv_url'],true)[0]['url'])}


      兰的李先生 消费:450.65元 其他手机 2020-06-29 20:59
      之前的你帮忙的修改后是当前栏目下的内容随机!这个问题是想调用cms模块内的数据!并不调用整站所有的数据
      兰的李先生 消费:450.65元 其他手机 2020-06-29 20:59
      并且只能通过连接调用!
      兰的李先生 消费:450.65元 2020-06-29 21:29
      模块是dsp  按你的把cms修改了  失效了!对数据库一点都不懂!
      码农 消费:0元 2020-06-29 21:31
      太个性了.不知道你的需求
      兰的李先生 消费:450.65元 2020-06-29 21:33
      @码农  要的是内容的链接地址 不是视频的链接地址
      兰的李先生 消费:450.65元 2020-06-29 21:36
      @码农 就是随机一个dsp(模块名称是dsp)里面一个内容的链接
    0 赏钱 赏礼回复
    0 赏钱 赏礼回复
    更多回复
        你可能感兴趣的主题
    恢复多功能编辑器
  • 3 1
  • 推荐内容
    扫一扫访问手机版
    请选择要切换的马甲:

     
    网页即时交流
    QQ咨询
    咨询热线
    020-28998648