variabele font kleur (PHP)

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • jortjuh
  • Registratie: Augustus 2008
  • Laatst online: 04-07-2023
Hallo,

Ik heb een vraagje betreffende dit:

Ik heb met het programma Gallery (een photo gallery) een aantal Custom fields aangemaakt.
Bij die custom fields zit ook exclusive, ik wil nu dat als bij exclusive Yes staat, de font color rood word. Als hij op No staat mag hij gewoon zwart blijven, ik heb al een beetje zitten puzzelen maar ik kom er zelf niet uit. Ik weet wel dat het door middel van een if check moet. Hiermee heb ik al van alles geprobeerd maar het lukt nog niet echt.

Ik hoop dat jullie mij hiermee kunnen helpen,

Groetjes,

Jort Steijn

Acties:
  • 0 Henk 'm!

  • TERW_DAN
  • Registratie: Juni 2001
  • Niet online

TERW_DAN

Met een hamer past alles.

Waarom met if statements gaan klooien?
Ik neem aan dat er een classname aan je element wordt toegekend? In dat geval kun je dit toch prima in CSS oplossen.

Post eens de relevante code die je hebt, want zonder die te zien is het maar gokken wat je zou kunnen doen.

Acties:
  • 0 Henk 'm!

  • jortjuh
  • Registratie: Augustus 2008
  • Laatst online: 04-07-2023
{g->callback type="customfield.LoadCustomFields" itemId=$item.id|default:$theme.item.id}

{if !empty($block.customfield.LoadCustomFields.fields)}
<div class="{$class}">
<h3> {g->text text="Design Information"} </h3>
<p class="giDescription">
{foreach from=$block.customfield.LoadCustomFields.fields key=field item=value}
{$field}: {$value|markup}<br/>
{/foreach}

</p>
</div>
{/if}

Dit is de code die in de file zit.
Ik hoop dat dit genoeg informatie is.

Acties:
  • 0 Henk 'm!

  • wizzkizz
  • Registratie: April 2003
  • Laatst online: 25-07 07:34

wizzkizz

smile...tomorrow will be worse

Je post hier alleen je sjabloon-bestand, wat je nodig hebt is een ander stuk van je achterliggende logica.
code:
1
{$field}: {$value|markup}

Hier wordt dus die informatie op het scherm weergegeven in de gedefinieerde markup. Je zult dus moeten kijken hoe je die markup op rood krijgt in een voorkomend geval.

Eventueel zou je zo iets kunnen doen:
code:
1
2
3
4
5
{if key == "exclusive" && value == "yes"}
    {$field}: {$value|<markup zodat ie rood wordt>}
{else}
    {$field}: {$value|markup}
{/if}

Maar eigenlijk kan dit nooit de bedoeling zijn en moet je er, op een andere plaats, voor zorgen dat de juiste markup meegegeven wordt. Dit is namelijk een ranzige hack die wellicht werkt maar die je, als het enigszins mogelijk is, niet moet gebruiken!

[ Voor 7% gewijzigd door wizzkizz op 25-03-2010 11:01 ]

Make it idiot proof and someone will make a better idiot.
Real programmers don't document. If it was hard to write, it should be hard to understand.


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 01:20

MueR

Admin Tweakers Discord

is niet lief

Die markup in dit voorbeeld is een functie die wordt aangeroepen op de variabele $value. Binnen Smarty worden dat op die manier dingen als htmlentities enzo aangeroepen. Markup zal vast weer een wrapper van de gallery zijn, want het is geen standaard functie ;)

Verder aan TS: Dit is toch wel heel simpel hoor. Een simpele css class indien aan je if conditie wordt voldaan lijkt me niet bijster moeilijk, tenzij je niet weet wat je aan het doen bent (lees: niet kunt programmeren).

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • wizzkizz
  • Registratie: April 2003
  • Laatst online: 25-07 07:34

wizzkizz

smile...tomorrow will be worse

MueR schreef op donderdag 25 maart 2010 @ 11:01:
Die markup in dit voorbeeld is een functie die wordt aangeroepen op de variabele $value. Binnen Smarty worden dat op die manier dingen als htmlentities enzo aangeroepen. Markup zal vast weer een wrapper van de gallery zijn, want het is geen standaard functie ;)
Wat ik dan zou doen is die markup-functie zodanig aanpassen dat elke eigenschap een css-klasse meekrijgt in de vorm property<Propertyname> als dat nog niet zo is, in dit geval dan dus propertyExclusive. En dan wat Terw_Dan zegt, in je CSS bestand zeggen dat die rood moet worden.

Make it idiot proof and someone will make a better idiot.
Real programmers don't document. If it was hard to write, it should be hard to understand.


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 01:20

MueR

Admin Tweakers Discord

is niet lief

Gaan klooien in dat gallery pakket, wat de TS zeker niet zelf geschreven heeft gezien zijn moeite met een if statement, om een kleurtje ergens aan te passen? Zullen we dat niet aanraden? In de templates een css class op een element er omheen zetten lijkt me voor TS beter haalbaar.

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • wizzkizz
  • Registratie: April 2003
  • Laatst online: 25-07 07:34

wizzkizz

smile...tomorrow will be worse

MueR schreef op donderdag 25 maart 2010 @ 11:13:
Gaan klooien in dat gallery pakket, wat de TS zeker niet zelf geschreven heeft gezien zijn moeite met een if statement, om een kleurtje ergens aan te passen? Zullen we dat niet aanraden? In de templates een css class op een element er omheen zetten lijkt me voor TS beter haalbaar.
* wizzkizz is totaal niet bekend met Smarty, maar als dat kan zou dat natuurlijk wel mooi zijn
Alleen zou ik er standaard al voor gezorgd hebben dat dit het geval is ;)

Make it idiot proof and someone will make a better idiot.
Real programmers don't document. If it was hard to write, it should be hard to understand.


Acties:
  • 0 Henk 'm!

  • jortjuh
  • Registratie: Augustus 2008
  • Laatst online: 04-07-2023
Ik denk dat ik het achterliggende stukje heb gevonden maar weet het niet zeker. Dit bestand heet modifier.markup.php:

* Smarty plugin
* -------------------------------------------------------------
* Type: modifier
* Name: markup
* Purpose: Format embedded markup in the given string according
* to settings specified in site admin (no markup, bbcode or
* raw html)
* -------------------------------------------------------------
*/

function smarty_modifier_markup($text) {
static $parsers = array();
static $cacheKey = 'smarty_modifier_markup';

$stripTags = false;
$args = func_get_args();
array_shift($args);
foreach ($args as $arg) {
if ($arg == 'strip') {
$stripTags = true;
} else {
$markupType = $arg;
}
}
if (!isset($markupType)) {
if (!GalleryDataCache::containsKey($cacheKey)) {
list ($ret, $defaultMarkupType) =
GalleryCoreApi::getPluginParameter('module', 'core', 'misc.markup');
if ($ret) {
/* This code is used by the UI -- we can't return an error. Choose something safe */
$defaultMarkupType = 'none';
}
GalleryDataCache::put($cacheKey, $defaultMarkupType);
}

$markupType = GalleryDataCache::get($cacheKey);
}

if (!isset($parsers[$markupType])) {
switch($markupType) {
case 'bbcode':
$parsers[$markupType] = new GalleryBbcodeMarkupParser();
break;

case 'html':
$parsers[$markupType] = new GalleryHtmlMarkupParser();
break;

case 'none':
default:
$parsers[$markupType] = new GalleryNoMarkupParser();
}
}

$text = $parsers[$markupType]->parse($text);
return $stripTags ? strip_tags($text) : $text;
}

class GalleryNoMarkupParser {
function parse($text) {
return $text;
}
}

class GalleryHtmlMarkupParser {
function parse($text) {
/* http://bugs.php.net/bug.php?id=22014 - TODO: remove empty check when min php is 4.3.2+ */
return empty($text) ? $text : GalleryUtilities::htmlSafe(html_entity_decode($text));
}
}

Ik denk dat dit het belangrijkste stukje code is voor wat ik wil gebruiken. Ik heb al verschillende dingen geprobeerd en ook het if script geprobeerd en in de bbcode markup en html markup geprobeerd maar het lukt mij nog steeds niet,
Ik hoop dat jullie met dit stukje code meer duidelijkheid zullen krijgen.

En Muer je hebt gelijk, ik kan niet programmeren, maar ik heb toch al heel wat dingen kunnen oplossen door het zoeken op verschillende fora's en het licht aanpassen daarvan. Alleen bleef dit een struikelpunt. En ik dacht mischien kunnen een paar ervaren tweakers mij hierbij helpen! :)

[ Voor 5% gewijzigd door jortjuh op 25-03-2010 11:23 ]

Pagina: 1