Problema nell'aggiungere una nuova posizione

Moderator: alexred

Forum rules
Regole Forum
Locked
ivandalmonte
Joomla! Apprentice
Joomla! Apprentice
Posts: 33
Joined: Mon Feb 24, 2020 8:03 pm
Location: Milano
Contact:

Problema nell'aggiungere una nuova posizione

Post by ivandalmonte » Sun Oct 24, 2021 8:55 pm

Ciao,

mi scuso subito se il mio problema è già stato trattato: ho provato a seguire dei link, ma sono vecchiotti e mi restano "appesi"...). Ho un problema con il mio template, provo a spiegarlo: sto usando per il mio sito il template "protostarplus-eighteen" (un'evoluzione gratuita di Protostar che ho trovato in rete), ed ho scelto di impostare come titolo un logo creato da me, anziché una stringa.

Il logo è un jpg fatto da una scritta elaborata in grafica (il nome del sito, su due righe) e, a sinistra, una mia foto stilizzata. Cliccando sul logo si torna alla home del sito, un comportamento che mi va benissimo e non vorrei modificare. Però mi è venuto in mente di rendere cliccabile la mia faccia, ora passiva (fa parte del logo, ed il template ammette una sola immagine ed un solo link).

La soluzione che mi piacerebbe riuscire ad implementare è l'aggiunta di una posizione al template, visto come sono piazzate quelle già disponibili (vedere l'immagine allegata):
- la top-bar-content (che ospita il logo - indicata con la freccia rosa) è in alto a sinistra
- la position-0 (dove si trova la finestra di ricerca - freccia arancione) è nell'angolo opposto, a destra
Nel mezzo non c'è nulla, e più o meno proprio lì si trova la mia foto che vorrei attivare (freccia verde): ecco perché ho pensato ad una posizione aggiuntiva.

Per ora ho splittato l'immagine del logo in due parti: quella con la scritta l'ho messa come nuovo logo, quella con la faccia gliela vorrei mettere all'immediata destra, in modo che apparentemente non si veda la divisione.

Il problema sta tutto nel creare la nuova posizione: in rete ho trovato vari articoli, ma tutti glissano sulla spiegazione della parte in CSS, quella che definisce l'esatta posizione della position appena creata. Il fatto è che il default prevede che due moduli a cui venga assegnata la stessa posizione si collochino uno sopra all'altro, mentre io vorrei che il nuovo si posizionasse a destra del primo.

Ho provato a fare qualche tentativo di modifica del file index.php del template: la nuova posizione viene creata, ma (anche perché la mia conoscenza del PHP è già vecchiotta e quella del CSS scarsissima) sempre sotto (o sopra!) la top-bar-content già esistente. In pratica, il comando "float: left" funziona, ma prima la posizione viene creata sotto quella già esistente! Purtroppo, la posizione top-bar-content non è occupata da un normale modulo, come descritto negli articoli per le posizioni: il codice la gestisce diversamente a seconda che ci sia la stringa o il logo, ma crea comunque qualcosa.

Questa è la parte di index.php che ho provato a modificare (al centro, fra due commenti, le righe aggiunte):

Code: Select all

<?php echo $this->params->get('customscr'); ?>
	<!-- Body -->
	<div class="body">
		<div id="top-bar">
			<div id="top-bar-content">
				<jdoc:include type="modules" name="top-bar-content" style="xhtml" />
			</div>

<!-- Nuova posizione -->
		<div id="top-bar-2">
			<div class="header" id="top-bar-content-2">
				<jdoc:include type="modules" name="top-bar-content-2" style=" float: left" />
			</div>
		</div>
<!-- Nuova posizione - FINE -->

		<div class="container">
			<!-- Header -->
			<header class="header" role="banner">
				<div class="header-inner clearfix">
					<a class="brand pull-left" href="<?php echo $this->baseurl; ?>/">
						<?php echo $logo; ?>
						<?php if ($this->params->get('sitedescription')) : ?>
							<?php echo '<div class="site-description">' . htmlspecialchars($this->params->get('sitedescription')) . '</div>'; ?>
						<?php endif; ?>
					</a>
Qualche suggerimento?

Grazie mille in anticipo!
Ivan
You do not have the required permissions to view the files attached to this post.

Locked

Return to “Template - Grafica”