2011-07-20 34 views
8

Tôi đang cố gắng thêm một lớp .clearfix vào vùng chân trang của tôi trong Drupal 7. Có cách nào để làm điều này không?Làm thế nào để thêm một lớp học vào một khu vực Drupal 7?

Tôi hiện đang sử dụng sau đây để in khu vực chân của tôi:

<?php print render($page['footer']); ?> 

Những kết quả đầu ra:

<div class="region region-footer"> 
    <div id="block-1>....</div> 
    <div id="block-2>....</div> 
</div> 
+0

Bạn chỉ cố gắng để thay đổi css, hoặc bạn đang cố gắng để bao gồm một số php? –

Trả lời

6

Sao chép vùng.tpl.php (tìm thấy trong mô-đun/thư mục hệ thống) vào thư mục chủ đề của bạn. Sau đó sao chép mọi thứ bên trong nó và tạo một tệp mới. Dán vào tệp đó và thực hiện bất kỳ thay đổi nào bạn muốn cho mẫu. Sau khi hoàn tất, lưu nó dưới dạng vùng - footer.tpl.php và xóa bộ nhớ cache trên trang web của bạn để xem các thay đổi.

Các region.tpl.php chứa (cùng với rất nhiều ý kiến ​​giải thích các biến thể):

<?php if ($content): ?> 
    <div class="<?php print $classes; ?>"> 
    <?php print $content; ?> 
    </div> 
<?php endif; ?> 

Vì vậy, tất cả các bạn sẽ cần phải làm là thêm một lớp về DIV đó.

+0

Tuyệt vời, tôi không biết bạn có thể sao chép các mẫu hệ thống vào thư mục chủ đề của riêng bạn. Cảm ơn Laxman13! –

+0

Xin lỗi vì đã hỏi, tôi đã làm theo cách tương tự và nó hoạt động. Nhưng nó loại bỏ một số divs (# footer-wrapper, # footer-inner) từ vùng chân trang. Và nó cũng loại bỏ chân trang id khỏi div nơi các lớp được thêm vào. Nó có đúng không? hoặc có một cái gì đó để làm với một chủ đề tùy chỉnh tôi đang sử dụng. –

+0

Tôi đoán là bạn phải làm với chủ đề tùy chỉnh mà bạn đang sử dụng. Nó có thể có các mẫu vùng riêng của nó (cụ thể chân trang). Trong trường hợp đó, bạn có thể thay đổi mẫu đó thay thế. – Laxman13

0

thử thêm bao gồm các tập tin footer.php.tpl. Bạn có thể phải tạo ra nó.

32

Dưới đây là đoạn mã:

function MY_THEME_NAME_preprocess_region(&$variables, $hook) { 
    if($variables['region'] == "MY_REGION_NAME"){ 
     $variables['classes_array'][] = 'MY_CLASS_NAME'; 
    } 
} 

Hoặc nếu bạn muốn thay vì chèn lớp thành tất cả các khu vực:

function MY_THEME_NAME_preprocess_region(&$variables, $hook) { 
    $variables['classes_array'][] = 'MY_CLASS_NAME'; 
} 
+3

Đây là cách hiệu quả và chính xác nhất. – jpshayes

Các vấn đề liên quan