Back to top

Autore Topic: modificare il risultato di una stringa  (Letto 1589 volte)

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
modificare il risultato di una stringa
« il: 01 Mar 2021, 10:28:17 »
Oggi sono davvero in difficoltà, ho questo pezzettino di codice sottostante:

Citazione

<dl class="data-sheet">
          {foreach from=$product.grouped_features item=feature}
            <dt class="name {$feature.name}">{$feature.name}</dt>
            <dd class="value">{$feature.value|escape:'htmlall'|nl2br nofilter}</dd>
          {/foreach}
        </dl>
che mi restituisce i valori separati da doppi apici e da un break,
qui sotto quello che c'è nel DOM
Codice: [Seleziona]
<dd class="value">"pippo"<br>"topolino"<br>"pluto"</dd>

manipolando quella stringa vorrei avere i risultati ognuno rinchiuso in un div/dd (quello che è)

Secondo voi è possibile?

l'esigenza nasce dal dover dare una classe diversa per ogni voce di risultato.
« Ultima modifica: 01 Mar 2021, 10:30:39 da giusebos »
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:modificare il risultato di una stringa
« Risposta #1 il: 01 Mar 2021, 12:32:30 »
Ciao
Prova a includere l'id nella classe e poi da css le diversifichi, ma se sono molti item credo sia molto dispendioso avere una classe per ognuno.

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:modificare il risultato di una stringa
« Risposta #2 il: 01 Mar 2021, 19:16:30 »
Per adesso ho trovato questa soluzione che non risolve in pieno il problema, il fatto è che posso applicare solo una classe al gruppo di valori, mentre a me serve una classe specifica per ogni valore

Citazione
<dd class="value {$feature.value}">{$feature.value|escape:'htmlall'|nl2br nofilter}</dd>

Questa stringa da come risultato i valori separati da doppi apici e da un break, quindi al massimo posso applicare solo ad una classe...

Questi valori non hanno id, quindi purtroppo non posso usare il tuo suggerimento.

Codice: [Seleziona]
<dd class="value">"pippo"<br>"topolino"<br>"pluto"</dd>
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:modificare il risultato di una stringa
« Risposta #3 il: 01 Mar 2021, 19:27:17 »
Ma puoi valorizzare una variabile e aumentarla ad ogni ciclo.

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:modificare il risultato di una stringa
« Risposta #4 il: 01 Mar 2021, 20:26:34 »
Ma puoi valorizzare una variabile e aumentarla ad ogni ciclo.

qui non so proprio come fare.

P.S. Nuovamente le notifiche dal forum non arrivano più...
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:modificare il risultato di una stringa
« Risposta #5 il: 01 Mar 2021, 21:13:39 »
Domani provo a mandarti il codice che ho usato per una esigenza simile.

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:modificare il risultato di una stringa
« Risposta #6 il: 02 Mar 2021, 11:34:20 »
Prova con questo e se ti da errori fammenlo sapere.

Codice: [Seleziona]
<dl class="data-sheet">          {foreach from=$product.grouped_features item=feature}
        <?php $i=1;?> //variabile incremento
            <dt class="<?php echo 'name'.$i?> {$feature.name}">{$feature.name}</dt>
            <dd class="value">{$feature.value|escape:'htmlall'|nl2br nofilter}</dd>
        <?php $i = ++; ?> // aumento di una unità la variabile ad ogni ciclo
          {/foreach}
</dl>
Se serve aggiungi l'incremento nche alla classe dd

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:modificare il risultato di una stringa
« Risposta #7 il: 02 Mar 2021, 18:44:25 »
Ti ringrazio, ho provato e produce ancora elementi separati da br e doppi apici.

però grazie alle tue indicazioni sono andato a scovare della documentazione che in qualche modo mi hanno fatto arrivare al risultato voluto.

Certe volte anche una piccola spintarella ti porta un pò più lontano da dove sei partito.

Grazie

Questa modifica riguarda PRESTASHOP, dove c'è un sistema per aggiungere features hai prodotti, ed io volendo abbinare una icona unica a queste feature speravo di poter semplicemente appliccare il mio css al singolo elemento......purtroppo il codice che produce questa caratteristica è una serie di voci separati da br e doppi apici che rende il raggiungimento dello scopo più difficile del solito.

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

 



Web Design Bolzano Kreatif