Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 16:18
    dg commented #209
  • Dec 10 17:40
    ddebin commented #209
  • Dec 10 16:29
    dg commented #209
  • Dec 10 16:29
    ddebin commented #209
  • Dec 10 16:27
    ddebin commented #209
  • Dec 10 16:26
    ddebin commented #209
  • Dec 10 16:25
    ddebin commented #209
  • Dec 10 16:22
    mabar commented #209
  • Dec 10 16:10
    ddebin commented #209
  • Dec 10 16:10
    ddebin commented #209
  • Dec 10 16:07
    mabar commented #209
  • Dec 10 16:06
    mabar commented #209
  • Dec 10 16:03
    ddebin commented #209
  • Dec 10 15:21
    dg closed #241
  • Dec 10 13:56
    ddebin edited #209
  • Dec 10 13:54
    ddebin opened #209
  • Dec 09 04:14
    dg closed #225
  • Dec 09 04:14
    dg commented #225
  • Dec 08 22:07
    SendiMyrkr opened #241
  • Dec 08 15:27
    janbarasek opened #225
Tomáš Malčánek
@Aresak
Pointa je, že se mi nepřerenderuje snippet
markosko
@markosko
@Aresak pravdepodobne ti bude este nieco este chybat pre vykreslenie
Tomáš Malčánek
@Aresak
html kód je přímo v {snippet MujSnippet}, co více by mělo být? A předpokládám, že by odpověď z ajaxu, měla být něco více než jen tento simple state?
JS funkce btw.
$.nette.ajax({
                    cache: false,
                    type: 'GET',
                    url: "?do=dataTablePagination&index=" + index + "&view=" + view,
                    async: false,
                });
markosko
@markosko
@Aresak skor kod v presentery
Tomáš Malčánek
@Aresak
Nooo když dám isControlInvalid("MujSnippet") hodí mi to true, takže by se render měl stát
Zkusím udělat úplně prázdný presenter, zda se něco změní
markosko
@markosko
@Aresak do ze das redrawControl je jedna vec ale si si isty ze ti to zbehne cely presenter ?
Tomáš Malčánek
@Aresak
Jup, mám to odkrokovaný, projede to celý
markosko
@markosko
aj generovanie sablony ?
Tomáš Malčánek
@Aresak

PresenterComponent->tryCall(...)
PresenterComponent->signalReceived()
Presenter->processSignal() ($this->signal = NULL)
Presenter->beforeRender()
Presenter->afterRencer()
Presenter->saveGlobalState()
Presenter->getTemplate()
Presenter->sendTemplate()

Pak catchnutá Application\AbortException
$this->snippetMode = true
$this->response->send(..., ....)
$this->sendPayload()
$this->onShutdown(, ...)
$this->shutdown()
Application->processRequest() ->send()
Application->onShutdown(, ...)

Tomáš Malčánek
@Aresak
Tak už je to vymyšlený - problém byl v tom, že šablona byla includovaná, takže snippetArea vyřešil
Tomáš Malčánek
@Aresak
Dobré ráno,
jak použít dibi IN subquery, kde mám 4 fieldy a vždy potřebuju udělat jen IN jednotný field? Pomocí %SQL
Tomáš Malčánek
@Aresak
$grid = $this->db
            ->select("TrackedObjectId")->as("Id")
            ->from("v_tracked_object_grid")
            ->where("FirstPositionCountry IN (%SQL)", $locations->select("Country"))
            ->where("FirstPositionAdmin1 IN (%SQL)", $locations->select("Admin1"))
            ->where("FirstPositionAdmin2 IN (%SQL)", $locations->select("Admin2"))
            ->where("FirstPositionSettlement IN (%SQL)", $locations->select("Settlement"));
Kdybych udělal toto, předpokládám, že to bude pomalejší, jaká by byla rychlejší alternativa?
Michal Mašek
@mroz123
@Aresak View
marketing
@edukomforta_twitter
Zdravím, může mi prosím někdo poradit s dotazem https://forum.nette.org/cs/32076-uprava-zapisu-ul-li-span
Jiří Snopek
@jirisnopek_twitter

Zdravim, mam tu nette 2.4 za reverse proxy, posilam si X-Forwarded-For, X-Forwarded-Host a dalsi. Aplikace ale pri presmerovani napr. na /sign/in pri stavbe url pouziva http_host misto http_x_forwared_host. V configu mam trusted ip te proxy. Mam workaround v podobe upravy RouterFactory.php, kam jsem na radek 253 pridal:

                                if (!empty($_SERVER['HTTP_X_FORWARDED_HOST'])) {
                                        $url->setHost(str_replace([':80', ':443'], "", $_SERVER['HTTP_X_FORWARDED_HOST']));
                                }

Nicmene verim, ze jsem jen nenasel nejake standardni reseni. Poradite mi, prosim?

Jiří Snopek
@jirisnopek_twitter
Pardon, na radek 250, mel jsem tam jeste barDumpy
barlon
@barlon
Zdravím. Chtěl bych poprosit o radu. Jakým způsobem lze získat hodnotu, pokud mám na vstupu Nette\DI\Statement?
markosko
@markosko
@barlon co presne mas obsah statement ?
barlon
@barlon
::getenv s nějakým argumentem
Roman Kovaříček
@namo-R
Zdarec - máte nějaké dobré tipy na stránky, blogy atp o programování (php, frontend, nette atp....) ..... sledování novinek, diks :)
Petr Steinbauer
@steinbauer_twitter
Ahoj lidi,
snažím se zjistit 5 dominantních barev v obrázku - nevíte zda něco takového umí Nette Image? Z pojmenování metod nic takového nevyplívá, tak se radši ptám...
cca takto !https://jecas.cz/files/barva-obrazku/paleta.jpg
Michal Mašek
@mroz123
@steinbauer_twitter Buď použít některou knihovnu, která to umí, nebo si ji sám napsat. Nette/Utils/Image má metodu colorAt($x, $y), která zjistí barvu na souřadnicích x a y. Pak není problém si zjistit rozměry a postupně projít celý obrázek.
Petr Steinbauer
@steinbauer_twitter

@mroz123 díky, zkusil jsem, prošel jsem takle fotky dle souradnic a o něco se pokousel, tím ale vniká jen "průměrná barva", ne ta dominanní...

Našel jsem nějaký knihovny, zkouším ted ty - diky za radu

~positive vibes~
@go_d__vibes_twitter
Ahoj lidi, potřeboval bych radu, kde dělám chybu.
Stavím projekt nad nejnovějším Nette a zasekl jsem se na routování. V RouterFactory.php přidávám pomocí dotazu z databáze do proměnné $router všechny URL adresy. Za tyto adresy pak přidávám poslední, obecnou, routu. Když pak chci navštívit konkretní presenter s konkrétní akcí (např. Contact:default) pod adresou, kterou jsem tomu nastavil (v tomto případě "adresa-webu.cz/kontakt/") tak mě to na stránku dostane pod tou URL ale pak mě to ihned přesměruje na adresu adresa-webu.cz/contact/ (tedy je splněna obecná routa a ne ta routa tomu určená).
Budu vděčný za jakoukoliv radu. Díky :)
Z2ool
@Z2ool
@go_d__vibes_twitter Stačí si napsat Routu, která dědí od třídy Route, zde pak napsat metodu asi takto
public function match(Nette\Http\IRequest $httpRequest): ?array
    {
        $httpRequest =  parent::match($httpRequest);
        if(!$httpRequest) return $httpRequest;
        $str = $this->model->getByAddress($httpRequest['id']);
        if(!$str) return null;
        return $httpRequest;
    }
~positive vibes~
@go_d__vibes_twitter
@Z2ool Je zvláštní, že ten způsob, který jsem použil mi funguje na ostatních projektech (staví taky na verzi Nette 3.0 ale všiml jsem si, že oproti té nejnovější verzi Nette 3.0 tam je pár rozdílů) a na tomto projektu to prostě nejde :/ Ale díky za tip :)
~positive vibes~
@go_d__vibes_twitter
@Z2ool Tak jsem zjistil, že to bylo kvůli nastaveném parametru v presenteru autoCanonicalize na hodnotu true. Co jsem se tak dočetl z dokumentace tak brání tomu, aby existovaly dvě URL vedoucí na stejnou stránku. Taky je v dokumentaci uvedeno, že se bere první nalezená URL a na tu se potom přesměrovává. Kde můžu nastavit to pořadí? Protože v RouterFactory.php mám uvedené pouze své URL adresy, které chci aby platily a ne ty, na které mě to neustále přesměrovává :/ Netuší někdo, jak to správně nastavit? Předem dík ;)
Martin Brettschneider
@martenb
@go_d__vibes_twitter V RouterFactory to děláš přes Router:FILTER_IN? Máš nadefinovaný i FILTER_OUT? Možná ti pomůže https://www.youtube.com/watch?v=zYpCmX5-oO0
Lukáš Kupka
@ekupkacz
Čau. Řešil jste někdo problém s připojením k db přes nette/connection (nette 3), kdy to v production modu na hostingu nepřipojí a v production modu z lokálu (na hostovanou db) připojí?
Z2ool
@Z2ool
Ahoj, nevíte jak udělat lehce vlastní validační pravidlo, které ověřuje data na serveru děkuji??
Martin Brettschneider
@martenb
@Z2ool https://doc.nette.org/cs/3.0/form-validation viz divisivilityValidator
Z2ool
@Z2ool
@martenb To ano, ale já potřebují se zeptat ajaxem na server jestli to už existuje, a jelikož ajax je asychronní tak to tak jednoduše nejde, zkoušel jsem async a await, ale to mi nějak nejede
Petr Parolek
@petrparolek

ahoj, dá se prosím v Nette nastavit, aby Tracy posílala emailrm i html výstup bluescreen, když nastane chyba? Např.

Nette\MemberAccessException: Call to undefined method App\Datagrids\SomeDatagridControl::isAjax(). in .../vendor/nette/utils/src/Utils/ObjectHelpers.php:65

source: https://example.com/...

Občas taková stručná hláška je málo

Roman Kovaříček
@namo-R
@petrparolek ano dá, uděláš si vlastní handler co dědí MailHandler a zadefinuješ si metodu send
monolog:
    handlers:
        email: Core\Log\YoursEmailHandler(Monolog\Logger::WARNING)
    public function __construct(int $level = Logger::DEBUG, bool $bubble = true)
    {
        parent::__construct($level, $bubble);
    }

    protected function send($content, array $records) : void
    {
           .....tady pošleš email
Adam Josefus
@adamjosefus
Prosím o radu. Jak Ve formuláři, u jednotlivého prvku vypnu přidání HTML5 validačního attributu pattern?
Jde využívat addRuller() a zároveň nebýt peskován HTML záležitostmi, protože si je řeším na klientovi sám?
Adam Josefus
@adamjosefus

Když můj formulář vypadá takto:

<?php
$form = new Form;

$form->add('password', 'Heslo nové heslo:')
    ->setHtmlAttribute('autofocus')
    ->addRule(Form::MIN_LENGTH, 'Heslo musí mít minimálně %d znaků', 8)
    ->addRule(Form::PATTERN, 'Heslo musí obsahovat velká písmena', '[A-Z]')
    ->addRule(Form::PATTERN, 'Heslo musí obsahovat malá písmena', '[a-z]')
    ->addRule(Form::PATTERN, 'Heslo musí obsahovat číslici', '[0-9]')
    ->addRule(Form::PATTERN, 'Heslo musí nějaký speciální znak', '[^\x00-\x20\x30-\x39\x41-\x5a\x61-\x7a]')
    ->setRequired('Vyplňte prosím Váše nové heslo.');

vyrenderované html je:

<input
    type="password"
    name="password"
    autofocus
    pattern="[^\x00-\x20\x30-\x39\x41-\x5a\x61-\x7a]"Tohle není pravda, je to jen poslední pravidlo
    required
    data-nette-rules="[
        {
            "op": ":filled",
            "msg": "Vyplňte prosím še nové heslo."
        },
        {
            "op": ":minLength",
            "msg": "Heslo musí mít minimálně 8 znaků",
            "arg": 8
        },
        {
            "op": ":pattern",
            "msg": "Heslo musí obsahovat velká písmena",
            "arg": "[A-Z]"
        },
        {
            "op": ":pattern",
            "msg": "Heslo musí obsahovat malá písmena",
            "arg": "[a-z]"
        },
        {
            "op": ":pattern",
            "msg": "Heslo musí obsahovat číslici",
            "arg": "[0-9]"
        },
        {
            "op": ":pattern",
            "msg": "Heslo musí obsahovat nějaký speciální znak",
            "arg": "[^\\x00-\\x20\\x30-\\x39\\x41-\\x5a\\x61-\\x7a]"
        }
    ]">
Adam Josefus
@adamjosefus
Tak jsem na to přišel $form->addPassword('password', '...')->setHtmlAtribute('pattern', false). Ten boolean mě překvapil a funguje to. Žádná metoda removeHtmlAttribute totiž není
Dominik Procházka
@Domm98CZ
zdravím, setkal se tu někdo někdy s problémem, že mu nefungovalo prolinkování dat databáze skrze klíče? (konkrétně toto: https://doc.nette.org/cs/3.0/database-explorer#joining-key), klíče samozřejmě mám, a cache sem mazal x krát a v ostatních projektech mi to normálně funguje. Nenapadá někoho čím by to mohlo být? Děkuji
Dominik Procházka
@Domm98CZ
Jediný rozdíl, který jsem našel je verze mysql a to že jedna je 5.6.24 (zde je to funkční) a pak a zde ono prolinkování nefunguje 5.5.5-10.1.37-MariaDB, jinak kód je identický.
Lukas Novotny
@j23bax_gitlab
Zdarec, hale rozjel sem web-project a debugger-bar mi haze PHP-Notice o Uninitialized string offset: 0, no uplne se mi nechce kvuli tomu zasahovat do jadra abych tam vypnul notice reporting, a to stale neresi ten problem ze, jen ho proste vypnu. Byl bych rad kdyby to slo nejak "bez hacku", ma to nekdo vyresene? P.S.: samozrejme to dela i pri jakemkoli dumpu kdekoli..
Stack trace:
#0 /my-project/vendor/tracy/tracy/src/Tracy/Dumper/Dumper.php(543): Tracy\Bar->Tracy\{closure}(8, 'Uninitialized s...', '/my-project/...', 543, Array)
#1 /my-project/vendor/tracy/tracy/src/Tracy/Dumper/Dumper.php(508): Tracy\Dumper::truncateString('', 150)
#2 /my-project/vendor/tracy/tracy/src/Tracy/Dumper/Dumper.php(418): Tracy\Dumper::encodeString('', 150)
#3 /my-project/vendor/tracy/tracy/src/Tracy/Dumper/Dumper.php(465): Tracy\Dumper->toJson('', Array, 4)
#4 /my-project/vendor/tracy/tracy/src/Tracy/Dumper/Dumper.php(465): Tracy\Dumper->toJson(Object(Nette\Http\Response), Array, 3)
#5 /my-project/vendor/tracy/tracy/src/Tracy/Dumper/Dumper.php(465): Tracy\Dumper->toJson(Object(Authenticators\CookiesAuthenticator), Array, 2)
#6 /my-project/vendor/tracy/tracy/src/Tracy/Dumper/Dumper.php(465): Tracy\Dumper->toJson(Object(App\Presenters\HomepagePresenter), Array, 1)
#7 /my-project/vendor/tracy/tracy/src/Tracy/Dumper/Dumper.php(189): Tracy\Dumper->toJson(Object(Nette\Application\Application), Array)
#8 /my-project/vendor/tracy/tracy/src/Tracy/Dumper/Dumper.php(127): Tracy\Dumper->asHtml(Object(Nette\Application\Application))
#9 /my-project/vendor/nette/di/src/Bridges/DITracy/templates/ContainerPanel.panel.phtml(56): Tracy\Dumper::toHtml(Object(Nette\Application\Application), Array)
#10 /my-project/vendor/nette/di/src/Bridges/DITracy/ContainerPanel.php(79): require('/my-project/...')
#11 /my-project/vendor/tracy/tracy/src/Tracy/Bar/Bar.php(148): Nette\Bridges\DITracy\ContainerPanel->getPanel()
#12 /my-project/vendor/tracy/tracy/src/Tracy/Bar/Bar.php(121): Tracy\Bar->renderPanels('-r0')
#13 /my-project/vendor/tracy/tracy/src/Tracy/Bar/Bar.php(93): Tracy\Bar->renderHtml('redirect', '-r0')
#14 /my-project/vendor/tracy/tracy/src/Tracy/Debugger/Debugger.php(274): Tracy\Bar->render()
#15 [internal function]: Tracy\Debugger::shutdownHandler()
#16 {main}
Z2ool
@Z2ool
@j23bax_gitlab Jakou máš vezi PHP? To bude nejspíše tím
Lukas Novotny
@j23bax_gitlab
@Z2ool napadlo me to no, php7.2.. 7.3 to resi? nebo je web-project max na 7.1 ?
Z2ool
@Z2ool
Pokud máš nejnovejší web projekt tak zkus 7.3
Lukas Novotny
@j23bax_gitlab

Tak jeste jeden dotaz :D

Jak si v nette.ajax.js od dobese v $.nette.ext('myext', {success:function(){}}), zjistim ze pri redrawControl() toho snippetu se vlastne obsah snippetu nezmenil? realne na handleSnippetUpdate jen zmenim obsah promenne, kterou v sablone ve snippetu vypisu. Mam totiz na tenhle update navazane akce v success metode toho ajaxu, ktere jsou ale otravne pokud se obsah nezmenil, lepe receno pro produkci nezadouci. Budu zatim hledat jinou cestu, ale tohle me zajima, nejakou dobu jsem js od dobese nepouzival, a tohle mi prijde jako trivialni fiicura, tak se zkusim zeptat tady :-)

markosko
@markosko
ale ak vypises premennu tym padom aj snippet sa zmenil @j23bax_gitlab
Alexandr Rešetňak
@Resetnak
Ahoj, chci se zeptat. Mam formulář a potřebuju aby se mi jen jedna část formuláře (pár inputů) odeslalo ajaxem a následně do handlu kde bych data vložil do db. Hledal jsem na netu ale nějak sem nemohl nic najít :D díky předem
Michal Mašek
@mroz123
@Resetnak Ahoj, normálně si získáš hodnoty inputů, které chceš odeslat a vytvoříš si vlastní ajax request.