Puncte:0

Cum imprim numele afișat?

drapel us

Am o vizualizare cu mai multe pagini. În interfața Vizualizări, pot seta un nume afișat pentru fiecare afișaj.

captură de ecran

Există oricum pot imprima acest nume în vizualizarea în sine, de exemplu, adăugând un Text global câmp la antetul vizualizărilor?

Puncte:0
drapel de

În Drupal 7, câmpul „Global: Rezumatul rezultatelor” din antetul Vizualizări vă oferă câteva simboluri pentru a avea acces la unele dintre informațiile de vizualizare (de exemplu, are un simbol numit @name -- numele vizualizării care poate fi citit de om pentru a tipări numele vizualizării).

Pentru a prelua numele afișat pentru vizualizare, totuși, trebuie să creați un handler personalizat de vizualizări pentru a vă defini propriile simboluri:

  • Creați un modul nou. În dumneavoastră my_module_name.info fișier, adăugați rândurile:
    dependencies[] = vizualizări

    fișiere[] = handlers/views_handler_my_custom_handler.inc
  • În dumneavoastră modulul_meu.modul fișier, adăugați un hook_views_data():
    funcția my_module_views_data() {
        // Definiția handler-ului dvs. personalizat
        $data['views']['my_module_custom_handler'] = matrice(
            'title' => t('Managerul meu personalizat'),
            'help' => t('Jetoane personalizate pentru a accesa informațiile de vizualizare'),
            'zonă' => matrice(
                'handler' => 'views_handler_my_custom_handler',
            ),
        );
        returnează $date;
    }
  • În cele din urmă, creați handlers/views_handler_my_custom_handler.inc fişier. Conținutul cel mai de bază bazat pe nevoile dvs. ar fi ceva de genul:

/**
 * @fișier
 * Definiția view_handler_area.
 */

/**
 * Gestionarul zonei de vizualizări pentru a afișa un rezumat al rezultatelor configurabile.
 *
 * @ingroup views_area_handlers
 */
clasa views_handler_my_custom_handler extinde views_handler_area {

    function option_definition() {
        $opțiuni = părinte::definiție_opțiune();
        $opțiuni['conținut'] = matrice(
            'default' => 'Afișarea simbolurilor de vizualizare',
            'translatable' => TRUE,
        );
        returnează $opțiuni;
    }

    funcția opțiuni_form(&$form, &$form_state) {
        parent::options_form($form, $form_state);

        $variabile = matrice(
            'articole' => matrice(
                „@display_name -- numele afișajului Vizualizare”
            ),
        );
        $listă = theme('item_list', $variabile);
        $form['conținut'] = matrice(
            '#title' => t('Afișare'),
            '#type' => 'textarea',
            '#rows' => 3,
            '#default_value' => $this->options['conținut'],
            '#description' => t('Puteți folosi cod HTML în acest câmp. Sunt acceptate următoarele indicative:') . $list,
        );
    }

    /**
     * Aflați informațiile de redat.
     */
    funcția de randare($gol = FALSE) {
        $format = $this->options['conținut'];
        // Înlocuiește „@display_name” cu vizualizarea valorii curente de afișare
        $output = filter_xss_admin(str_replace("@display_name", $this->view->current_display, $format));
        returnează $ieșire;
    }

Asta e. Managerul de vizualizări personalizate ar trebui să fie acum disponibil în orice vizualizare.

Vă recomand să aruncați o privire la fișierul view_handler_area_result.inc (codul pentru câmpul „Global: Rezumatul rezultatelor”) din modulul Vizualizări dacă doriți să-l extindeți pentru a avea token-urile disponibile în handlerul personalizat.

big_smile avatar
drapel us
Mulțumiri! Asta pare să imprime numele vizualizării, mai degrabă decât numele afișat al paginii. De exemplu. O vizualizare se numește „Indexuri”. Și în acea vizualizare, creați mai multe pagini, fiecare având un nume afișat diferit. `@name` afișează `Indexuri` mai degrabă decât numele afișat al paginii.
misterdidi avatar
drapel de
Păcat, ai perfectă dreptate! Jetoanele Basic Views nu sunt suficiente pentru ceea ce aveți nevoie. Vă rugăm să vedeți răspunsul meu editat.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.