Làm cách nào để tôi nói với Drupal không tổng hợp tệp css của tôi


7

Tôi đã kích hoạt tập tin và nén CSS của Drupal . Tôi nên làm gì để loại trừ các tệp css nhất định khỏi bị tổng hợp và nén? Cảm ơn.


1
Bạn có thể đề cập đến những gì nó sẽ tốt cho? Tôi tò mò.
Scorchio

Tôi có một tệp css thay đổi trên mỗi nút và không muốn nó là một phần của css lớn.
karthik

Câu trả lời:


12

Để dừng một tập tin đang được tổng hợp, bạn có thể thêm một cờ vào lệnh drupal_add_css () để tải tập tin. Để làm điều này, hãy tìm nơi CSS được thêm vào và thêm array('preprocess' => FALSE)vào sau kiểu, ví dụ:

drupal_add_css('/fonts/fonts-min.css', array('preprocess' => FALSE));

Ngoài ra, CSS bên ngoài không bao giờ được nén, vì vậy nếu bạn thay đổi CSS thành URL tuyệt đối của tệp thì nó sẽ không được nén.

drupal_add_css('http://mysite/css/fonts-min.css');

Nếu bạn muốn thay đổi CSS được bao gồm từ tệp .info, tốt nhất nên thêm nó dưới dạng tệp bên ngoài có _preprocess_htmltrong template.php. Điều này được giải thích rõ trong phần 'Thêm biểu định kiểu bên ngoài' trên trang này .


này, cảm ơn, bạn nói đúng, nhưng không phải vậy array('preprocess' => FALSE));sao? đó là những gì tài liệu nói.
karthik

Oopse, chính xác, xấu của tôi. Sao chép nó ra khỏi mặc định để tôi không viết sai chính tả: - /
John C

1

Tôi cũng gặp vấn đề này, nhưng thay vì sử dụng drupal_add_css tôi đã đính kèm các tệp của mình vào một trang như thế này:

function module_preprocess_page(&$variables) {
  $variables['some_element']['#attached'] = array(
    'css' => array(
      'path/to/css/style.css',
    )
  )
}

Trong khi đào mã lõi đính kèm, tôi thấy rằng chúng ta có thể sử dụng giải pháp của John C ở đây giống như sau:

function module_preprocess_page(&$variables) {
  $variables['some_element']['#attached'] = array(
    'css' => array(
      'path/to/css/style.css' => array(
        'preprocess' => FALSE,
      )
    )
  )
}

0

Làm thế nào tôi làm điều này thực sự bẩn trên Drupal 8 vì nó vẫn còn trong dev và hiện tại có quá nhiều thay đổi:

Tệp THEMENAME.theme :

function THEMENAME_preprocess_html(&$variables) {
  $variables['css_address'] = drupal_get_path('theme', 'themename') . '/cssfile.css';
}

Và đã thêm một cái gì đó như thế này vào thẻ đầu trong tệp mẫu html.html.twig :

<link rel="stylesheet" type="text/css" href="{{ css_address }}">

Sẽ sớm có cách tốt hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.