Joomla.it Forum
Joomla! 3 => Joomla! 3 => : robertoseveri1974 16 Dec 2019, 11:51:35
-
Buongiorno ragazzi, ho una domandona. Vorrei attribuire una class all'interno di un modulo a un testo determinato. Mi spiego meglio, ho un elenco di testo che sono le classi energetiche A4,A3,A2....G a cui vorrei attribuire uno sfondo di colore diverso. Solo a quel testo. Sono riuscito a farlo all'interno di un modulo filtro usando questo comando: .ex-classeenergetica select [value='B'] in questo caso mi prende l'attributo value, ma se uso lo stesso attributo (adeguando la classe) non me lo cambia. Ho provato a cercare ma non riesco a capire intanto se è possibile e poi come farlo. Qualcuno mi può aiutare?
-
Ti basta racchiudere il testo in un div id =classe
-
purtroppo non è così semplice, mi sa che ho spiegato male il tutto. il testo in questione è inserito nel back end e è un campo select. nella visualizzazione del filtro che ripropone il campo select con il comando .ex-classeenergetica select [value='B'] (.ex-classeenergetica è una classe da me attribuita a tutti i valori di quel campo select, non sono riuscito ad attribuire singolarmente classi diverse ai valori del campo select, se però c'è un modo di fare questo magari si risolve così) riesco a dargli lo sfondo che voglio in base al testo stesso. ma negli altri moduli non riesco. pensavo di farlo dicendogli di attribuire una determinata class con testo (ad esempio) uguale A4, ma non me lo fa fare riprendendo la definizione [value='A4'].
ti metto il link al sito che forse ti aiuta a capire meglio www.lecasediparma.it (http://www.lecasediparma.it) il modulo in questione è : Gli ultimi immobili inseriti a Parma.
-
aggiornamento: ho provato in vari modi ma credo che l'unico modo sia intervenire sul codice php che crea il modulo in questione
questo è il codice php del modulo:
<?php
/**
* @package mod_bt_media_showcase - BT Media Showcase Module
* @version 1.0
* @created Aug 2013
* @author BowThemes
* @email support@bowthems.com
* @website http://bowthemes.com
* @support Forum - http://bowthemes.com/forum/
* @copyright Copyright (C) 2012 Bowthemes. All rights reserved.
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
*/
// no direct access
defined('_JEXEC') or die('Restricted access');
?>
<div class="btp">
<a class="link-arrow" style="float:right;margin-top:-65px;" href="<?php echo JRoute::_(BT_PropertyHelperRoute::getCategoryRoute(0)); ?>"><?php echo JText::_('MOD_BT_PROPERTY_SHOWCASE_ALL_PROPERTIES'); ?>[/url]
<section id="price-drop" class="block">
<div class="row">
<div class="owl-carousel price-drop-carousel">
<?php foreach ($list as $port) : ?>
<div class="col-md-12">
<div class="property">
<figure class="tag status"><?php echo Bt_propertyHelper::statusTitle($port->status); ?></figure>
<a href="<?php echo JRoute::_(BT_PropertyHelperRoute::getPropertyRoute($port->id . ':' . $port->alias,$port->category_id . ':' . $port->category_alias,$port->status));?>">
<div class="property-image">
<img alt="" src="<?php echo modBtPropertyShowcaseHelper::getItemImage($params, $port); ?>">
<>
<div class="overlay">
<div class="info">
<div class="tag price"><?php echo Bt_propertyHelper::formatPrice($port->price); ?><>
<h3><?php echo $port->title; ?></h3>
<figure><?php echo $port->address; ?></figure>
<>
<?php if($params->get('show_ex', 1)){?>
<ul class="additional-info centermodulehome">
<?php foreach ($port->extra_fields as $ex ) {
/* questo è il codice modificato*/ if ($ex->alias == 'ipe' || $ex->alias == 'baths'|| $ex->alias == 'bed'|| $ex->alias == 'area'|| $ex->alias == 'clen') { ?>
<li>
<?php if(!$ex->format && $ex->show_label){
echo '<span>' . JText::_($ex->name) . '</span>';
}?>
<span><strong><?php echo Bt_propertyHelper::extrafieldHTML($ex); ?></strong></span>
</li>
<?php }?>
<?php }?>
</ul>
<?php } ?>
<>
[/url]
<><!-- /.property -->
<>
<?php endforeach; ?>
<>
<>
</section>
<>
<script type="text/javascript">
(function($) {
$(".price-drop-carousel").owlCarousel({
items: 5,
itemsDesktop: [1700,3],
responsiveBaseWidth: ".price-drop-carousel",
autoPlay:<?php echo $params->get('autoPlay','false'); ?>,
autoHeight : <?php echo $params->get('autoHeight','true'); ?>,
navigation: <?php echo $params->get('navigation','false'); ?>,
pagination: <?php echo $params->get('pagination','false'); ?>,
stopOnHover: <?php echo $params->get('stopOnHover','true'); ?>,
scrollPerPage: <?php echo $params->get('scrollPerPage','false'); ?>,
slideSpeed: <?php echo $params->get('slideSpeed',200); ?>,
rewindSpeed: <?php echo $params->get('rewindSpeed',1000); ?>,
startDragging : function() {
$('.owl-carousel .property').css('pointer-events', 'none');
},
beforeMove : function() {
$('.owl-carousel .property').css('pointer-events', 'auto');
}
});
})(typeof (BTP.fn.owlCarousel) == 'function'?BTP:jQuery);
</script>
la riga /* */ l'ho modificata per far vedere solo gli extrafiled con quei determinati alias (e funziona), ora vorrei aggiungere di attribuire una classe-a4 al campo extrafiled uguale a default_value (che identifica l'elenco della classe energetica) con valore uguale a A4, una classe a3 al campo extrafiled uguale a default_value (che identifica l'elenco della classe energetica) con valore uguale a A3 e via di seguito fino alla classe G. credo sia l'unico modo possibile.
-
Beh pero aggiusta il titolo non stai attribuendo classe a testo ma a campi form
-
hai ragione, scusa l'ignoranza....e la disattenzione. tu sai se si possa fare una cosa del genere?
-
select option[value="1"] {
background:#ffcccc;
}
select option[value="2"] {
background:#ffffcc;
}
select option[value="3"] {
background:#00ff00;
}
select option[value="4"] {
background:#cc3333;
}
prova con questo codice adattandolo al contenuto della select, probabilmente se hai dato lo stesso nome al valore e all'attributo, dovresti eliminare il nome dall'attributo e sostituirlo con il numero.
Questo meccanismo è quello che consente di avere un aspetto diverso per ogni scelta della dropdownlist
ATTENZIONE!! Questo varrà sicuramente per vista che contiene la combobox, non so se la vista che contiene il semplice dato erediterà la regola insieme al colore.
Prova!
-
Grazie Giusebos, ma quella parte l ho già sistemata in un modo simile a quello che dicevi tu. come dicevi tu nella vista del modulo che fa vedere il dato non mantiene la stessa classe. per quello ho postato il file php che genera la vista (è un modulo) pensando di modificare quello come ho scritto sopra, ma non ci riesco, non conosco il php e a parte le cosette semplici non riesco a modificare nulla. in sostanza è proprio la vista che dici tu che non mantiene, se hai un'idea di come modificare quella usando lo stesso [value='A4'] (io ho provato ma non funziona, credo sia sbagliato usare value, ma non saprei cosa usare). ti posto l'immagine e l'indirizzo www.lecasediparma.it.
-
possibile che il componente non ti faccia mettere una classe specifica per ogni opzione?
-
no purtroppo, perchè nel componente dove ho caricato i vari dati non posso mettere tag o class.....ma è dove ho risolto come dicevi tu: .... [value='A4']. nel modulo dove fa vedere quel dato ho provato in mille modi col css ma non potendo usare [value='A4'] (ho provato ma non lo prende) pensavo, come ti dicevo, di modificare il php del modulo. cioè di dargli una classe diversa per ogni dato caricato nel db (la colonna si chiama "default_value"), ma materialmente non so come scriverlo
-
nel forum inglese mi hanno risposto così:
echo '<span>' . JText::_($ex->name) . '</span>';that needs some styling?then try
echo '<span class="' . $ex->somefieldYouUseForThis . '">' . JText::_($ex->name) . '</span>';class can be any other attribute even one you make up yourself.class is of course easier styling as you can use the .class syntax.sometimes any other attribute (even the made up ones) have a little more flexibility when it comes to texts..check https://www.w3schools.com/cssref/css_selectors.asp (https://www.w3schools.com/cssref/css_selectors.asp) specially the "attributes"
capisco dov'è la riga ma non riesco a capire come modificarla esattamente dovendo inserire le classi abbinate ai vari dati. Qualcuno mi può chiarire il discorso?
-
sostituisci
echo '<span>' . JText::_($ex->name) . '</span>';that needs some styling?then try
con
echo '<span class="' . $ex->somefieldYouUseForThis . '">' . JText::_($ex->name) . '</span>';
somefieldYouUseForThis dovrebbe aggiungere una classe specifica per voce identica alla voce o valore del campo
Attenzione alla formattazione, non vorrei che vi si fosse aggiunto o eliminato qualcosa, quindi fai fede a ciò che ti hanno inviato, non fare copia incolla da questo forum.
-
no, mi sa che è il campo precedente, attribuisce una classe array al nome dell extrafield, ma io lo devo attribuire al dato successivo. un altro mi ha scritto di modificare in questo modo:
<li>
<?php if(!$ex->format && $ex->show_label){
echo '<span>' . JText::_($ex->name) . '</span>';
}?>
<span class="<?php echo Bt_propertyHelper::extrafieldHTML($ex); ?>"><strong><?php echo Bt_propertyHelper::extrafieldHTML($ex); ?></strong></span>
</li>
.classeenergetica.A4 { background-color: green; color: white; }
in questo modo attribuisce una classe in base al campo, ma a tutti i campi extrafield cosa che non voglio perchè altrimenti mi scombina la visualizzazione degli altri a me interessa solo quello relativo alla classe energetica. ho provato a modificarlo così ma non funziona:
<li>
<?php if(!$ex->format && $ex->show_label){
echo '<span>' . JText::_($ex->name) . '</span>';
}?>
<span class="<?php echo Bt_propertyHelper::extrafieldHTML($ex->default_value); ?>"><strong><?php echo Bt_propertyHelper::extrafieldHTML($ex); ?></strong></span>
</li>
.classeenergetica.A4 { background-color: green; color: white; }
default_value è la colonna del db dove va a scrivere i vari dati A4,A3,A2 ecc...
penso di esserci vicino ma non capisco come aggiustarlo.
aggiornamento:
si ci sono quasi riuscito nel senso che mi attribuisce la giusta classe al corrispondente dato, ora devo farglielo fare al solo campo relativo alla classe energetica
-
ce l'ho fatta!!! la soluzione è :
<li>
<?php if(!$ex->format && $ex->show_label){
echo '<span >' . JText::_($ex->name) . '</span>';
}?>
<span class="<?php if ($ex->alias == 'clen') {echo Bt_propertyHelper::extrafieldHTML ($ex) ; }?>"><strong><?php echo Bt_propertyHelper::extrafieldHTML($ex); ?></strong></span>
</li>