将dotcms 2.5.7升级到3.7.2 $ folder = $ fileRepository_filesList.get(0).folder-不会返回文件夹ID

问题描述 投票:0回答:1

请帮助:)

我将dotcms从2.5.7升级到3.7.2。

以下代码实际上已链接至一个按钮,从而打开幻灯片。

此代码在旧的cms中有效,但在3.7.2中不可用好玩的东西! -如果我未登录后端,则此代码有效,否则将无效。

要查看幻灯片显示按钮本身,您需要登录,但不能在后端登录!我想念谁?

我应该如何从文件夹中有4个子文件夹(文件夹)的文件列表中包含图片,然后可以将其与javascript一起使用?

#set($ folder = $ fileRepository_filesList.get(0).folder)-此行应返回文件夹的ID,但不返回任何内容(仅是$ folder)。如果我在后端登录,则此行返回id(61763395-ca41-4446-95cc-4ddfbaaf0cea)。为什么?

非常感谢您的帮助!


#if((($UtilMethods.isSet($user) && $cmsuser.isUserRole($user, "Taa Primerjava Konkurence")) || $EDIT_MODE) && ($langId == 1 || $langId == 3 ||$langId == 4 ||$langId == 7))
      <tr>
        <td id="servis6" data-servis="konkurenca">
          <a id="gumb-konkurenca" href="#konkurenca" data-toggle="modal" href="#konkurenca" data-target="#konkurenca"><div>$text.get('servis.primerjava-konkurence-vitli')</div></a>
          #set ($lan = $languagewebapi.getLanguage($langId))
          #set ($langStr = $lan.languageCode + "-" + $lan.countryCode.toLowerCase())
          #set ($fileSrc = "/docs/primerjava-konkurence/vitli/" + $langStr)
          #set($fileRepositorySourceCode = "/application/files_konkurenca_new.vtl")
          #fileRepository("$fileSrc")
        </td>
      </tr>
      #end

VTL file:


#set($hasParent = false)
#if($fileRepository_showFolder != $fileRepository_rootFolder)
#set($hasParent = true)
#set($fileRepository_upFolder = ${UtilMethods.getParentFolder($fileRepository_showFolder, $host).getPath()})
#else
#if(!$fileRepository_showFolder.endsWith("/"))
  #set ($fileRepository_showFolder = ${fileRepository_showFolder} + "/" )
#end
#end

#set($folder = $fileRepository_filesList.get(0).folder)  ##Folder should now be "61763395-ca41-4446-95cc-4ddfbaaf0cea" but it is empty

<script>
$(document).ready(function(){
  $('#gumb-konkurenca').one('click', function(){
    $('#konkurenca .modal-body').prepend('<img class="close-info" src="/img/buttons/x.png" alt="x" />');
    $('#konkurenca .modal-body').append('&lt;script&gt;$(".close-info").click(function(){$("#konkurenca").modal("hide")});&lt;/script&gt;'.replace(/&{1}lt;{1}/g,"<").replace(/&{1}gt;{1}/g,">"));
    $('#konkurenca script').each(function() {
      $.globalEval($(this).text());
    });
    var dataQuery = "/api/content/render/false/type/json/query/%2BstructureName:FileAsset%20%2BconFolder:" + "$folder" + "*%20%2Bdeleted:false%20%20%2Bworking:true/orderby/FileAsset.title%20asc/limit/0";  ## This is empty then, beacuse of $folder
    $.ajax({
      url: dataQuery,
      data: '',
      dataType: 'json',
      success: function(data){
        $("#slider-konkurenca .slides").html('');
        $("#carousel-konkurenca .slides").html('');
        $.each(data.contentlets, function(i, contentlet) {
          $("#slider-konkurenca .slides").append('<li><img src="/dotAsset/' + contentlet.identifier + '" /></li>');
          var w = contentlet.metaData.width;
          var h = contentlet.metaData.height;
          if(h/w > 0.75){
            $("#carousel-konkurenca .slides").append('<li><img src="/contentAsset/image/' + contentlet.inode + '/fileAsset/byInode/1/filter/Resize,Crop/resize_w/100/crop_w/100/crop_h/75/crop_x/0/crop_y/' + Math.floor((100*h/w-75)/2) + '" /></li>');
          }
          else{
            $("#carousel-konkurenca .slides").append('<li><img src="/contentAsset/image/' + contentlet.inode + '/fileAsset/byInode/1/filter/Resize,Crop/resize_h/75/crop_w/100/crop_h/75/crop_x/' + Math.floor((75*w/h-100)/2) + '/crop_y/0" /></li>');
          }
        });
        setTimeout(function(){
          $("#carousel-konkurenca").flexslider({
            namespace: "galleryNav-",
            animation: "slide",
            controlNav: false,
            animationLoop: false,
            slideshow: false,
            itemWidth: 105,
            itemMargin: 5,
            asNavFor: "#slider-konkurenca"
          });
          $("#slider-konkurenca").flexslider({
            namespace: "gallery-",
            animation: "slide",
            controlNav: false,
            animationLoop: false,
            slideshow: false,
            sync: "#carousel-konkurenca"
          });
        },1000);
      }
    });
  });
  $('#gumb-konkurenca').on('click', function(){
    $('#konkurenca').modal('toggle');
  });

  $(document).keydown(function(e) {
    $('#konkurenca.in').modal('hide');
  });
  $(window).blur(function(){
    $('#konkurenca.in').modal('hide');
  });
});
</script> ```


javascript java velocity dotcms
1个回答
0
投票

所以我的猜测是CMS Anon没有对该文件的读取权限。您可以尝试使用类似的方法获取文件夹ID,

$folderAPI.findCurrentFolder("/path", $host).id

其中,路径是您要查找的文件夹路径。另外,为什么要从一个EOL版本升级到另一个EOL版本-您最好转到最新版本。

© www.soinside.com 2019 - 2024. All rights reserved.