Điểm:0

Làm cách nào để in tên hiển thị?

lá cờ us

Tôi có một chế độ xem với nhiều trang. Trong giao diện Lượt xem, tôi có thể đặt tên hiển thị cho từng màn hình.

ảnh chụp màn hình

Có cách nào để tôi có thể in tên này trong chế độ xem không, ví dụ: thêm một Văn bản toàn cầu trường vào tiêu đề chế độ xem?

Điểm:0
lá cờ de

Trong Drupal 7, trường "Toàn cầu: Tóm tắt kết quả" trong tiêu đề Chế độ xem cung cấp cho bạn một số mã thông báo để có quyền truy cập vào một số thông tin về chế độ xem (ví dụ: trường có mã thông báo có tên @name -- tên mà con người có thể đọc được của view để in tên Xem).

Tuy nhiên, để tìm nạp tên hiển thị của Chế độ xem, bạn cần tạo trình xử lý Chế độ xem tùy chỉnh để xác định mã thông báo của riêng bạn:

  • Tạo một mô-đun mới. trong bạn my_module_name.info tập tin, thêm các dòng:
    phụ thuộc [] = lượt xem

    tệp [] = handlers/views_handler_my_custom_handler.inc
  • trong bạn my_module.module tệp, hãy thêm hook_views_data():
    hàm my_module_views_data() {
        // Định nghĩa trình xử lý tùy chỉnh của bạn
        $data['views']['my_module_custom_handler'] = mảng(
            'title' => t('Trình xử lý tùy chỉnh của tôi'),
            'help' => t('Mã thông báo tùy chỉnh để truy cập Xem thông tin'),
            'diện tích' => mảng (
                'trình xử lý' => 'views_handler_my_custom_handler',
            ),
        );
        trả lại dữ liệu $;
    }
  • Cuối cùng, tạo các trình xử lý/views_handler_my_custom_handler.inc tập tin. Nội dung cơ bản nhất dựa trên nhu cầu của bạn sẽ giống như:

/**
 * @tập tin
 * Định nghĩa của view_handler_area.
 */

/**
 * Trình xử lý khu vực xem để hiển thị một số tóm tắt kết quả có thể định cấu hình.
 *
 * @ingroup lượt xem_area_handlers
 */
lớp views_handler_my_custom_handler mở rộng views_handler_area {

    hàm option_definition() {
        $options = parent::option_definition();
        $options['content'] = mảng(
            'default' => 'Hiển thị mã thông báo chế độ xem',
            'có thể dịch' => ĐÚNG,
        );
        trả lại tùy chọn $;
    }

    chức năng options_form(&$form, &$form_state) {
        cha mẹ::options_form($form, $form_state);

        biến $ = mảng (
            'mục' => mảng (
                '@display_name -- tên của màn hình Xem'
            ),
        );
        $list = theme('item_list', $variables);
        $form['content'] = mảng(
            '#title' => t('Hiển thị'),
            '#type' => 'vùng văn bản',
            '#hàng' => 3,
            '#default_value' => $this->options['content'],
            '#description' => t('Bạn có thể sử dụng mã HTML trong trường này. Các mã thông báo sau được hỗ trợ:') . danh sách $,
        );
    }

    /**
     * Tìm hiểu thông tin để kết xuất.
     */
    hàm kết xuất($empty = FALSE) {
        $format = $this->options['content'];
        // Thay thế "@display_name" bằng xem giá trị hiển thị hiện tại
        $output = filter_xss_admin(str_replace("@display_name", $this->view->current_display, $format));
        trả lại đầu ra $;
    }

Đó là nó. Trình xử lý chế độ xem tùy chỉnh của bạn hiện có sẵn trong bất kỳ Chế độ xem nào.

Tôi khuyên bạn nên xem tệp view_handler_area_result.inc (mã cho trường "Toàn cầu: Tóm tắt kết quả") trong mô-đun Chế độ xem nếu bạn muốn mở rộng tệp để có sẵn mã thông báo trong trình xử lý tùy chỉnh của mình.

big_smile avatar
lá cờ us
Cảm ơn! Điều đó dường như in tên của Chế độ xem, thay vì tên hiển thị của trang. Ví dụ. Chế độ xem được gọi là "Chỉ mục". Và trong chế độ xem đó, bạn tạo nhiều trang, mỗi trang có tên hiển thị khác nhau. `@name` in `Chỉ mục` thay vì tên hiển thị của trang.
misterdidi avatar
lá cờ de
Lỗi của tôi, bạn hoàn toàn đúng! Mã thông báo Chế độ xem cơ bản không đủ cho những gì bạn cần. Vui lòng xem câu trả lời đã chỉnh sửa của tôi.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.