Hvězdička u povinné položky i v HTML

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Tomik
Nette Evangelist | 485
+
0
-

Tohle je snad jediná věc, která mě u Nette štve z hlediska typografie. Byly tady rady, jak hvězdičku přidat v CSS – ale to není čisté řešení.

Zatím jsem to vyřešil tak, že jsem si podědil ConventionalRenderer a změnil metody renderLabel a renderControl. Pokud to tedy někomu pomůže:

<?php
    /**
     * Renders 'label' part of visual row of controls.
     * @param  IFormControl
     * @return string
     */
    public function renderLabel(IFormControl $control)
    {
        $head = $this->getWrapper('label container');

        if ($control instanceof Checkbox || $control instanceof Button) {
            return $head->setHtml('&nbsp;');
        } else {
            if ($control->getOption('required')) return $head->setHtml((string) $control->getLabel() . $this->getValue('label suffix') . ' *');
            return $head->setHtml((string) $control->getLabel() . $this->getValue('label suffix'));
        }
    }


    /**
     * Renders 'control' part of visual row of controls.
     * @param  IFormControl
     * @return string
     */
    public function renderControl(IFormControl $control)
    {
        $body = $this->getWrapper('control container');
        if ($this->counter % 2) $body->class($this->getValue('control .odd'), TRUE);

        $description = $control->getOption('description');
        if ($description instanceof Html) {
            $description = ' ' . $control->getOption('description');

        } elseif (is_string($description)) {
            $description = ' ' . $this->getWrapper('control description')->setText($description);

        } else {
            $description = '';
        }

        if ($this->getValue('control errors')) {
            $description .= $this->renderErrors($control);
        }

        if ($control instanceof Checkbox || $control instanceof Button) {
            if ($control->getOption('required')) return $body->setHtml((string) $control->getControl() . (string) $control->getLabel() . ' *' . $description);
            return $body->setHtml((string) $control->getControl() . (string) $control->getLabel() . $description);
        } else {
            return $body->setHtml((string) $control->getControl() . $description);
        }
    }
?>

Otázka na Davida: šlo by toto (popř. v nějaké čistší formě) zařadit přímo do ConventionalRendereru v distribuci? Nebo to má nějaké souvislosti, které nevidím a proto to není možné. :)

PetrP
Člen | 587
+
0
-

Také se přikláním k nějakému začlenění do nette.

rokerkony
Člen | 122
+
0
-

také bych byl pro :-)

Tomik
Nette Evangelist | 485
+
0
-

Já bych to tak třeba i commitnul, ale jednak nevím, zda vůbec můžu a druhak si tolik nevěřím. :) Ale zase by to bylo fajn. Mohl bych pak tvrdit: napsal jsem podstatnou část zdrojových kódu Nette Frameworku! :)

Tomik
Nette Evangelist | 485
+
0
-

Taková OT otázka na Davida: Je možné se nějak dostat mezi lidi, co přispívají do SVNka? Nebo je to čistě pro vyvolené… ? :)

_Martin_
Generous Backer | 679
+
0
-

Mám pocit, že v tuto chvíli mají do SVN povolen přístup pouze dva lidé na celém světě, z nichž každý žije na jiném kontinentu, má osobní ochranku a z bytu vychází jen jednou do měsíce, takže jde zcela jistě o nejzabezpečenější systém na světě =)

Tomik
Nette Evangelist | 485
+
0
-

_Martin_ napsal(a):

Mám pocit, že v tuto chvíli mají do SVN povolen přístup pouze dva lidé na celém světě, z nichž každý žije na jiném kontinentu, má osobní ochranku a z bytu vychází jen jednou do měsíce, takže jde zcela jistě o nejzabezpečenější systém na světě =)

Mě se jednou stalo, že byli Jakub Vrána i David na jednom místě a byla tam s nima dost podstatná část Nette komunity, takže kdyby to tam teroristi (blíže nespecifikovaná hospoda pod Nuselským mostem) vybombardovali, Nette by šlo ke dnu! :)

_Martin_
Generous Backer | 679
+
0
-

Tomik napsal(a):

Mě se jednou stalo, že byli Jakub Vrána i David na jednom místě a byla tam s nima dost podstatná část Nette komunity, takže kdyby to tam teroristi (blíže nespecifikovaná hospoda pod Nuselským mostem) vybombardovali, Nette by šlo ke dnu! :)

A to je přesně ta informace, kvůli které tě v nejbližších minutách navštíví několik luxusně oblečených pánů těžce sportovních postav a zcela nenásilně tě odvedou „do zadu“ – prý kvůli neodkladnému telefonátu…

Tomik
Nette Evangelist | 485
+
0
-

_Martin_ napsal(a):

A to je přesně ta informace, kvůli které tě v nejbližších minutách navštíví několik luxusně oblečených pánů těžce sportovních postav a zcela nenásilně tě odvedou „do zadu“ – prý kvůli neodkladnému telefonátu…

Nic takového se nestalo. A prý ani nestane… alespoň to tvrdí ten pán v černém co stojí za mnou a míří na mě.

David Grudl
Nette Core | 8218
+
0
-

Vyřešeno v revizi 349.

$renderer->wrappers['control']['requiredsuffix'] = " *";
// nebo
$renderer->wrappers['label']['requiredsuffix'] = " *";