[SOLVED] PDFMaker - funzione if/else

More
04 Feb 2020 16:59 - 10 Feb 2020 09:13 #3580 by milvis@hotmail.it
Buona sera, il mio problema parte dalla seguente tabella.
<table border="1" cellpadding="2" cellspacing="0" style="width:100%;border-collapse:collapse">
	<tbody>
		<tr>
			<td colspan="2"><span style="font-size:13px;">PROVA_UNO: <span style="color:#2f5596;"><strong>$ACCOUNTS_BILL_STREET$</strong></span><br />
			PROVA_DUE: <span style="color:#2f5596;"><strong>$ACCOUNTS_SHIP_STREET$</strong></span><br />
			PROVA_TRE: <span style="color:#2f5596;"><strong>$ACCOUNTS_BILL_CITY$​</strong></span></span></td>
		</tr>
	</tbody>
</table>

Vorrei far si che le tre righe appaiano solo quando la variabile associata è non nulla. Ho provato il seguente codice con la funzione if/else:
<table border="1" cellpadding="2" cellspacing="0" style="width:100%;border-collapse:collapse">
	<tbody>
		<tr>
			<td colspan="2"><span style="font-size:13px;">[CUSTOMFUNCTION|its4you_if|$ACCOUNTS_BILL_STREET$|!=||PROVA_UNO: <span style="color:#2f5596;"><strong>$ACCOUNTS_BILL_STREET$</strong></span><br />
			||CUSTOMFUNCTION][CUSTOMFUNCTION|its4you_if|$ACCOUNTS_SHIP_STREET$|!=||PROVA_DUE: <span style="color:#2f5596;"><strong>$ACCOUNTS_SHIP_STREET$</strong></span><br />
			||CUSTOMFUNCTION][CUSTOMFUNCTION|its4you_if|$ACCOUNTS_BILL_CITY$​|!=||PROVA_TRE: <span style="color:#2f5596;"><strong>$ACCOUNTS_BILL_CITY$​</strong></span>||CUSTOMFUNCTION]</span></td>
		</tr>
	</tbody>
</table>

Mi vengono visualizzate correttamente solo le righe in cui ho variabili non nulle, solamente che non mi viene conservata la formattazione. Il punto fondamentale sarebbe come poter gestire il <br /> in modo che vada a capo solo se la riga è effettivamente visualizzata. Come potrei fare?

Allego un'immagine in cui ho due tabelle, la prima corrispondente alla prima porzione di codice, la seconda corrispondente alla seconda porzioni di codice.

Grazie a tutti
Attachments:
Last edit: 10 Feb 2020 09:13 by dende.
The topic has been locked.
More
07 Feb 2020 10:27 #3581 by dende
Replied by dende on topic PDFMaker - funzione if/else
Buongiorno,
le formattazioni HTML vanno spostate al di fuori della custom function in quanto questa restituirà solamente un elemento testuale.
Grazie
The topic has been locked.
More
07 Feb 2020 15:48 #3586 by milvis@hotmail.it

dende wrote: Buongiorno,
le formattazioni HTML vanno spostate al di fuori della custom function in quanto questa restituirà solamente un elemento testuale.
Grazie


Grazie mille della risposta. Una sola precisazione, se possibile: le formattazioni HTML vanno al di fuori di questa particolare funzione custom e quindi potrei (se fossi in grado) creare una funzione personalizzata che mi restituisca anche la formattazione HTML o per come è "progettato" il pdf maker questo sarà sempre impossibile?

Chiedo perchè il problema mi rimarrebbe con il <br /> che, se lasciato fuori dalla funzione custom, mi lascerebbe in questo caso una riga vuota; inoltre il pdf da preparare è più complicato e probabilmente dovrò inserire o meno righe e celle in base al valore di alcune variabili,

Se non fosse possibile in nessun modo una soluzione alternativa più brutale potrebbe essere creare un processo che mi gestisca il codice html su una variabile "di appoggio" da richiamare poi nel pdfmaker, solo che mi sembra meno intuitivo anche in ottica di mantenimento e aggiornamento futuro.

Altrimenti non saprei, non mi vengono altre alternative.

Grazie ancora e buon lavoro
The topic has been locked.
More
07 Feb 2020 16:08 #3587 by dende
Replied by dende on topic PDFMaker - funzione if/else
Per come sono implementate, le funzioni custom accettano contenuto che viene trasformato in plain text.
Per evitare la conversione ed usare quanto passato va fatta una piccola modifica al codice.
In modules/PDFMaker/InventoryPDF.php va sostituito
$customfunction->plaintext
con
$customfunction->innertext
nel metodo replaceCustomFunctions
The topic has been locked.
More
08 Feb 2020 12:49 #3588 by milvis@hotmail.it
Funziona perfettamente. Grazie davvero, mi hai risparmiato un bel pò di grane :)
The topic has been locked.
Time to create page: 0.236 seconds