Back to top

Autore Topic: [RISOLTO] Attribuire una class a campi form BT PROPERTY  (Letto 1821 volte)

Offline robertoseveri1974

  • Appassionato
  • ***
  • Post: 316
    • Mostra profilo
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?
« Ultima modifica: 17 Dic 2019, 15:15:59 da robertoseveri1974 »

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Attribuire una class a del testo ben definito
« Risposta #1 il: 16 Dic 2019, 14:15:27 »
Ti basta racchiudere il testo in un div id =classe

Offline robertoseveri1974

  • Appassionato
  • ***
  • Post: 316
    • Mostra profilo
Re:Attribuire una class a del testo ben definito
« Risposta #2 il: 16 Dic 2019, 15:16:16 »
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 il modulo in questione è : Gli ultimi immobili inseriti a Parma.
« Ultima modifica: 16 Dic 2019, 18:32:48 da robertoseveri1974 »

Offline robertoseveri1974

  • Appassionato
  • ***
  • Post: 316
    • Mostra profilo
Re:Attribuire una class a del testo ben definito
« Risposta #3 il: 16 Dic 2019, 19:40:28 »
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:
 
Codice: [Seleziona]

<?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.
« Ultima modifica: 16 Dic 2019, 19:51:08 da robertoseveri1974 »

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Attribuire una class a del testo ben definito
« Risposta #4 il: 16 Dic 2019, 20:01:36 »
Beh pero aggiusta il titolo non stai attribuendo classe a testo ma a campi form

Offline robertoseveri1974

  • Appassionato
  • ***
  • Post: 316
    • Mostra profilo
Re:Attribuire una class a campi form
« Risposta #5 il: 16 Dic 2019, 20:07:12 »
hai ragione, scusa l'ignoranza....e la disattenzione. tu sai se si possa fare una cosa del genere?

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Attribuire una class a campi form
« Risposta #6 il: 16 Dic 2019, 20:50:51 »
Codice: [Seleziona]
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!

su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline robertoseveri1974

  • Appassionato
  • ***
  • Post: 316
    • Mostra profilo
Re:Attribuire una class a campi form
« Risposta #7 il: 16 Dic 2019, 21:56:16 »
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.

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Attribuire una class a campi form
« Risposta #8 il: 16 Dic 2019, 23:28:20 »
possibile che il componente non ti faccia mettere una classe specifica per ogni opzione?
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline robertoseveri1974

  • Appassionato
  • ***
  • Post: 316
    • Mostra profilo
Re:Attribuire una class a campi form
« Risposta #9 il: 16 Dic 2019, 23:46:11 »
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
« Ultima modifica: 17 Dic 2019, 00:01:18 da robertoseveri1974 »

Offline robertoseveri1974

  • Appassionato
  • ***
  • Post: 316
    • Mostra profilo
Re:Attribuire una class a campi form
« Risposta #10 il: 17 Dic 2019, 10:09:51 »
nel forum inglese mi hanno risposto così:
Citazione



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 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?

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Attribuire una class a campi form
« Risposta #11 il: 17 Dic 2019, 10:43:04 »
sostituisci

Codice: [Seleziona]
echo '<span>' . JText::_($ex->name) . '</span>';that needs some styling?then trycon

Codice: [Seleziona]
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.
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline robertoseveri1974

  • Appassionato
  • ***
  • Post: 316
    • Mostra profilo
Re:Attribuire una class a campi form
« Risposta #12 il: 17 Dic 2019, 12:04:53 »
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:


Codice: [Seleziona]
<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:



Codice: [Seleziona]
<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
« Ultima modifica: 17 Dic 2019, 12:24:50 da robertoseveri1974 »

Offline robertoseveri1974

  • Appassionato
  • ***
  • Post: 316
    • Mostra profilo
Re:Attribuire una class a campi form
« Risposta #13 il: 17 Dic 2019, 12:51:03 »
ce l'ho fatta!!! la soluzione è :


Codice: [Seleziona]

<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>



 



Web Design Bolzano Kreatif