如何在ModX中管理CSS,对文件系统中的css的更改无效,清除缓存不起作用

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

我在使用ModX时遇到了巨大的困难。如果您只是上传一次并忘记它,那就太好了,但是对不是资源的CSS文件进行更改似乎是绝对的噩梦。如果从文件中加载CSS并在ModX中缓存,那么摆脱它似乎是不可能的。没有关于这方面的文档,我已经看到了一些关于通过docs管理CSS的线程,我想尝试但是我无法重新开始。

编辑:链接到线程

我已经尝试清除缓存,删除缓存文件夹,删除css文件,然后删除和清除缓存(然后我测试以查看css实际上是否已经被删除但是nope仍然加载,即使它不存在在哪里可以看到)

我的问题是:这里发生了什么?为什么我不能正确清除缓存?这是一个错误吗?我错过了ModX的基本功能吗?如何在不重新安装ModX的情况下重新启动?我应该将CSS放在文档或片段中吗?

不,我不想使用Sass或cssSweet。请原始无聊的普通CSS。我不打算建立下一个Facebook,只是想用它来为客户轻松进行后端部署和内容管理。

我的标题是一个名为'header'的块,如下所示。 (注意:找到了CSS,没有初始加载的问题。我已经完全删除了CSS文件,清除了缓存并删除了缓存文件夹,CSS仍以某种方式加载)

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="HandheldFriendly" content="true">
<meta name="MobileOptimized" content="width">

<title></title>

<link rel="stylesheet" href="bootstrap/css/bootstrap.css">
<link title="timeline-styles" rel="stylesheet" href="assets/timeline/css/timeline.css">
<link rel="stylesheet" href="assets/lightbox/dist/css/lightbox.css">

<link rel="stylesheet" href="assets/fonts/Southampton.ttf">
<link rel="stylesheet" href="assets/css/style.css">

</head>
<body id="section-body">  

我的主页是一个模板,如下:

[[$header]]
[[$navbar]]

<div class="container">

  <div class="row">
    <div class="col-lg-12 col-md-12 col-sm-12">
      <section id="section-banner" class="parallax">
        <img id="welcome-banner-words" src="images/web_ready/welcome_banner_words.png" class="w-100" alt="">
      </section>
    </div>
  </div>

  <div class="row">
    <div class="col-lg-12 col-md-12 col-sm-12">
      <section id="section-timeline" class="w-100 h-100">
        [[$timeline]]  
      </section>
    </div>
  </div>

 <div class="row">
    <div class="col-lg-12 col-md-12 col-sm-12">
      <div id="section-gallery-start" class="divider"></div>       
      <section id="section-gallery" class="w-100">
        <header id="header-gallery">Party Photos!!!</header>
        <hr class="horizontal-row-style">
        <p class="para-gallery">
Please return to this section after the party to see the photos</p>
        <!--[[$gallery]]--> 
      </section>
    </div>
  </div>

 <div class="row">
    <div class="col-lg-12 col-md-12 col-sm-12">
      <div id="section-special-start" class="divider"></div>       
      <section id="section-special" class="w-100">
       <section id="section-special-intro-blurb" class="w-100 h-100">
         <header id="header-special-intro-blurb">Special Thanks</header>
         <hr class="horizontal-row-style">
         <p class="para-special-intro-blurb">
</p>
      <hr class="horizontal-row-style">
      <p class="para-special-intro-blurb">
</p>
<p class="para-special-intro-blurb">Marnie Nana and Grandma Broome</p>
<p class="para-special-intro-blurb"></p>
      </section>
      [[$special_thanks]]
      </section>
    </div>
  </div>

</div>

[[$footer]]
modx-revolution
3个回答
0
投票

我注释掉了样式表的链接,然后保存了我的标题块,清除了缓存,然后再次保存了块。这似乎有效。

但是,这非常hacky。

至于我的其他相关问题:

经过一些实验,我发现实现CSS的最简单方法是将它放在一个名为“css_stylesheet”的块中,确保选中“保存时清除缓存”复选框(默认情况下是这样),这样我们就可以了如果有错误,请在实时设置中使用代码,然后在标题块上引用样式标记中的块,如下所示:

<style>
    [[$css_stylesheet]]
</style>

我想这是可以的,一般来说,最好的做法是避免嵌套块太多,但它只有一层深,我们在交换php时使用相同的语法,所以这很好。没关系。

如果在文档中更明显地考虑这个问题会很好。关于将站点从php库转换为ModX应该有一些注意事项,这应该突出应该作为静态资源(即bootstrap,jquery等)包含的文档类型,哪些应该是块(自定义css,自定义js等) )


0
投票

Mate希望不迟,一个简单的解决方案是使用MinifyX来处理和压缩你的css,每次清除缓存时它都会创建一个带有新名称的新压缩文件,这意味着无法将css路径保存在内存中。干杯。


-1
投票

另一种破解缓存的方法是在css url之后添加一个变量。

<link rel="stylesheet" href="assets/css/style.css?v1">

每次保存文件时都必须更改值,它不可持续,但它应该打破css缓存,以便您可以看到您的工作。

实际上,除了清除浏览器缓存之外,您不需要做任何其他事情。我知道有些浏览器真的很想保留缓存。

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