it-swarm.dev

Funzione di stampa / e-mail di Joomla

Volevo cambiare il modo in cui funzionava la funzione di stampa/e-mail standard in Joomla, dove volevo cambiarla da un menu a discesa a icone indipendenti.

In una sostituzione del modello ho modificato il codice per questo da:

        <?php if ($canEdit || $displayData['params']->get('show_print_icon') || $displayData['params']->get('show_email_icon')) : ?>
        <div class="btn-group pull-right">
            <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"> <span class="icon-cog"></span> <span class="caret"></span> </a>
            <?php // Note the actions class is deprecated. Use dropdown-menu instead. ?>
            <ul class="dropdown-menu">
                <?php if ($displayData['params']->get('show_print_icon')) : ?>
                    <li class="print-icon"> <?php echo JHtml::_('icon.print_popup', $displayData['item'], $displayData['params']); ?> </li>
                <?php endif; ?>
                <?php if ($displayData['params']->get('show_email_icon')) : ?>
                    <li class="email-icon"> <?php echo JHtml::_('icon.email', $displayData['item'], $displayData['params']); ?> </li>
                <?php endif; ?>
                <?php if ($canEdit) : ?>
                    <li class="edit-icon"> <?php echo JHtml::_('icon.edit', $displayData['item'], $displayData['params']); ?> </li>
                <?php endif; ?>
            </ul>
        </div>
    <?php endif; ?>

A:

        <?php if ($canEdit || $displayData['params']->get('show_print_icon') || $displayData['params']->get('show_email_icon')) : ?>
        <div class="pull-right">
                <?php if ($displayData['params']->get('show_print_icon')) : ?>
                    <li class="print-icon"> <?php echo JHtml::_('icon.print_popup', $displayData['item'], $displayData['params']); ?> </li>
                <?php endif; ?>
                <?php if ($displayData['params']->get('show_email_icon')) : ?>
                    <li class="email-icon"> <?php echo JHtml::_('icon.email', $displayData['item'], $displayData['params']); ?> </li>
                <?php endif; ?>
                <?php if ($canEdit) : ?>
                    <li class="edit-icon"> <?php echo JHtml::_('icon.edit', $displayData['item'], $displayData['params']); ?> </li>
                <?php endif; ?>
            </ul>
        </div>
    <?php endif; ?>

<?php else : ?>

In questo modo le icone di stampa ed e-mail vengono eliminate dal tag e vengono visualizzate come icone autonome in un elenco verticale.

Come posso visualizzare le icone di stampa/e-mail in orizzontale anziché in verticale?

1
Hammur

Innanzitutto, devi rimuovere il menu a discesa, ma stai ancora utilizzando gli elementi dell'elenco. Quindi è necessario modificare il <li> tag a <div> tag.

Una volta fatto, suggerirei di aggiungere una classe al tuo elemento genitore, in questo modo:

<div class="pull-right actions">

Quindi utilizzando CSS:

.actions > div {
    display: inline-block;
}

O quello o semplicemente rimuovere il dropdown-menu classe dal tuo <ul> element e assicurati che tutti i <li> Gli elementi vengono spostati a sinistra.

Spero che sia di aiuto

1
Lodder

Non c'è motivo per cui questi collegamenti non debbano comunque essere voci di elenco. è un elenco di collegamenti ed è sempre stato codificato come tale in Joomla.

Penso che sarebbe preferibile utilizzare una semplice classe di utilità, cambiando

<ul class="dropdown-menu">

A:

<ul class="inline"> // Following BS2.3 syntax

or:

<ul class="list-inline"> // BS3 syntax

Questo ottiene il risultato corretto con meno codice, più precisione e migliore semantica.

1
Seth Warburton