From 3decfab9f932803bba7d53c9239942203b3818f9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Milo=C5=A1=20Brecher?=
<34324008+mildabre@users.noreply.github.com>
Date: Fri, 7 Apr 2023 16:32:01 +0200
Subject: [PATCH] application: improvements (#990)(#993)(#999)(#1002)
---
application/bg/ajax.texy | 23 +++++++++++++++++++++--
application/bg/bootstrap.texy | 15 ++++++++++++++-
application/bg/presenters.texy | 4 ++--
application/bg/templates.texy | 4 +++-
application/cs/ajax.texy | 21 ++++++++++++++++++++-
application/cs/bootstrap.texy | 15 ++++++++++++++-
application/cs/presenters.texy | 4 ++--
application/cs/templates.texy | 4 +++-
application/de/ajax.texy | 23 +++++++++++++++++++++--
application/de/bootstrap.texy | 15 ++++++++++++++-
application/de/presenters.texy | 4 ++--
application/de/templates.texy | 4 +++-
application/el/ajax.texy | 23 +++++++++++++++++++++--
application/el/bootstrap.texy | 15 ++++++++++++++-
application/el/presenters.texy | 4 ++--
application/el/templates.texy | 4 +++-
application/en/ajax.texy | 23 +++++++++++++++++++++--
application/en/bootstrap.texy | 15 ++++++++++++++-
application/en/presenters.texy | 4 ++--
application/en/templates.texy | 4 +++-
application/es/ajax.texy | 23 +++++++++++++++++++++--
application/es/bootstrap.texy | 15 ++++++++++++++-
application/es/presenters.texy | 4 ++--
application/es/templates.texy | 4 +++-
application/fr/ajax.texy | 23 +++++++++++++++++++++--
application/fr/bootstrap.texy | 15 ++++++++++++++-
application/fr/presenters.texy | 4 ++--
application/fr/templates.texy | 4 +++-
application/hu/ajax.texy | 23 +++++++++++++++++++++--
application/hu/bootstrap.texy | 15 ++++++++++++++-
application/hu/presenters.texy | 4 ++--
application/hu/templates.texy | 4 +++-
application/it/ajax.texy | 23 +++++++++++++++++++++--
application/it/bootstrap.texy | 15 ++++++++++++++-
application/it/presenters.texy | 4 ++--
application/it/templates.texy | 4 +++-
application/pl/ajax.texy | 23 +++++++++++++++++++++--
application/pl/bootstrap.texy | 15 ++++++++++++++-
application/pl/presenters.texy | 4 ++--
application/pl/templates.texy | 4 +++-
application/pt/ajax.texy | 23 +++++++++++++++++++++--
application/pt/bootstrap.texy | 15 ++++++++++++++-
application/pt/presenters.texy | 4 ++--
application/pt/templates.texy | 4 +++-
application/ro/ajax.texy | 23 +++++++++++++++++++++--
application/ro/bootstrap.texy | 15 ++++++++++++++-
application/ro/presenters.texy | 4 ++--
application/ro/templates.texy | 4 +++-
application/ru/ajax.texy | 23 +++++++++++++++++++++--
application/ru/bootstrap.texy | 15 ++++++++++++++-
application/ru/presenters.texy | 4 ++--
application/ru/templates.texy | 4 +++-
application/sl/ajax.texy | 23 +++++++++++++++++++++--
application/sl/bootstrap.texy | 15 ++++++++++++++-
application/sl/presenters.texy | 4 ++--
application/sl/templates.texy | 4 +++-
application/tr/ajax.texy | 23 +++++++++++++++++++++--
application/tr/bootstrap.texy | 15 ++++++++++++++-
application/tr/presenters.texy | 4 ++--
application/tr/templates.texy | 4 +++-
application/uk/ajax.texy | 23 +++++++++++++++++++++--
application/uk/bootstrap.texy | 15 ++++++++++++++-
application/uk/presenters.texy | 4 ++--
application/uk/templates.texy | 4 +++-
64 files changed, 639 insertions(+), 95 deletions(-)
diff --git a/application/bg/ajax.texy b/application/bg/ajax.texy
index 924c419cf7..1bcf75bc98 100644
--- a/application/bg/ajax.texy
+++ b/application/bg/ajax.texy
@@ -10,9 +10,13 @@ AJAX и фрагменти
-Заявката AJAX може да бъде открита чрез метода на услугата, който [капсулира HTTP заявката |http:request] `$httpRequest->isAjax()` (определя се въз основа на HTTP заглавието `X-Requested-With`). Съществува и съкратен метод в програмата за представяне: `$this->isAjax()`.
-Заявката AJAX не се различава от обикновената заявка - водещият се извиква с определено представяне и параметри. От водещия зависи и как ще реагира: той може да използва процедурите си, за да върне фрагмент от HTML код, XML документ, JSON обект или част от Javascript код.
+Заявка AJAX .[#toc-ajax-request]
+================================
+
+Заявката AJAX не се различава от класическата заявка - водещият се извиква с определен изглед и параметри. От водещия също зависи как да отговори на нея: той може да използва своя собствена процедура, която връща фрагмент от HTML код (HTML snippet), XML документ, JSON обект или JavaScript код.
+
+От страна на сървъра AJAX заявката може да бъде открита с помощта на метода на услугата, [капсулиращ HTTP заявката |http:request] `$httpRequest->isAjax()` (открива се въз основа на HTTP заглавието `X-Requested-With`). Вътре в презентатора е наличен пряк път под формата на метода `$this->isAjax()`.
Съществува предварително обработен обект `payload`, предназначен за изпращане на данни към браузъра във формат JSON.
@@ -60,6 +64,21 @@ npm install naja
```
+За да създадете AJAX заявка от обикновена връзка (сигнал) или подаване на формуляр, просто маркирайте съответната връзка, формуляр или бутон с класа `ajax`:
+
+```html
+Go
+
+
+
+or
+
+```
+
Извадки .[#toc-snippety]
========================
diff --git a/application/bg/bootstrap.texy b/application/bg/bootstrap.texy
index 17833a42e7..8d0b3dc5c4 100644
--- a/application/bg/bootstrap.texy
+++ b/application/bg/bootstrap.texy
@@ -174,7 +174,7 @@ $configurator->addStaticParameters([
]);
```
-Конфигурационните файлове могат да използват нормалния запис `%projectId%` за достъп до параметъра с име `projectId`. По подразбиране конфигураторът попълва следните параметри: `appDir`, `wwwDir`, `tempDir`, `vendorDir`, `debugMode` и `consoleMode`.
+В конфигурационните файлове можем да запишем обичайната нотация `%projectId%`, за да получим достъп до параметъра с име `projectId`.
Динамични параметри .[#toc-dynamic-parameters]
@@ -197,6 +197,19 @@ $configurator->addDynamicParameters([
```
+Параметри по подразбиране .[#toc-default-parameters]
+----------------------------------------------------
+
+Можете да използвате следните статични параметри в конфигурационните файлове:
+
+- `%appDir%` е абсолютният път до директорията на файла `Bootstrap.php`
+- `%wwwDir%` е абсолютният път до директорията, съдържаща входния файл `index.php`
+- `%tempDir%` е абсолютният път до директорията за временни файлове
+- `%vendorDir%` е абсолютният път до директорията, в която Composer инсталира библиотеки
+- `%debugMode%` показва дали приложението е в режим на отстраняване на грешки
+- `%consoleMode%` показва дали заявката е постъпила от командния ред
+
+
Внесени услуги .[#toc-imported-services]
----------------------------------------
diff --git a/application/bg/presenters.texy b/application/bg/presenters.texy
index ec99e72f33..9c09769cda 100644
--- a/application/bg/presenters.texy
+++ b/application/bg/presenters.texy
@@ -158,7 +158,7 @@ $url = $this->link('Product:show', [$id, 'lang' => 'en']);
$this->forward('Product:show');
```
-Пример за временно пренасочване с HTTP код 302 или 303:
+Пример за т.нар. временно пренасочване с HTTP код 302 (или 303, ако текущият метод на заявка е POST):
```php
$this->redirect('Product:show', $id);
@@ -170,7 +170,7 @@ $this->redirect('Product:show', $id);
$this->redirectPermanent('Product:show', $id);
```
-Можете да пренасочите към друг URL адрес извън приложението, като използвате метода `redirectUrl()`:
+Можете да пренасочите към друг URL адрес извън приложението, като използвате метода `redirectUrl()`. Като втори параметър може да се посочи HTTP кодът, като по подразбиране той е 302 (или 303, ако текущият метод на заявка е POST):
```php
$this->redirectUrl('https://nette.org');
diff --git a/application/bg/templates.texy b/application/bg/templates.texy
index 05a8985093..850d3e2ecd 100644
--- a/application/bg/templates.texy
+++ b/application/bg/templates.texy
@@ -42,7 +42,9 @@ Nette използва системата за шаблони [Latte |latte:]. L
- `templates//.latte`
- `templates/..latte`
-Ако шаблонът не е намерен, отговорът ще бъде [грешка 404 |presenters#error-404-etc].
+Ако шаблонът не бъде намерен, ще се опита да търси в директорията `templates` едно ниво по-нагоре, т.е. на същото ниво като директорията с класа на водещия.
+
+Ако шаблонът не бъде намерен и там, отговорът ще бъде [грешка 404 |presenters#Error 404 etc.].
Можете също така да промените изгледа с помощта на `$this->setView('jineView')`. Или вместо да търсите директно, посочете името на файла с шаблона, като използвате `$this->template->setFile('/path/to/template.latte')`.
diff --git a/application/cs/ajax.texy b/application/cs/ajax.texy
index ac3792e0b6..e4d30f762a 100644
--- a/application/cs/ajax.texy
+++ b/application/cs/ajax.texy
@@ -10,10 +10,14 @@ Moderní webové aplikace dnes běží napůl na serveru, napůl v prohlížeči
-AJAXový požadavek lze detekovat metodou služby [zapouzdřující HTTP požadavek |http:request] `$httpRequest->isAjax()` (detekuje podle HTTP hlavičky `X-Requested-With`). Uvnitř presenteru je k dispozici "zkratka" v podobě metody `$this->isAjax()`.
+
+AJAXový požadavek
+=================
AJAXový požadavek se nijak neliší od klasického požadavku - je zavolán presenter s určitým view a parametry. Je také věcí presenteru, jak bude na něj reagovat: může použít vlastní rutinu, která vrátí nějaký fragment HTML kódu (HTML snippet), XML dokument, JSON objekt nebo kód v JavaScriptu.
+Na straně serveru lze AJAXový požadavek detekovat metodou služby [zapouzdřující HTTP požadavek |http:request] `$httpRequest->isAjax()` (detekuje podle HTTP hlavičky `X-Requested-With`). Uvnitř presenteru je k dispozici "zkratka" v podobě metody `$this->isAjax()`.
+
Pro odesílání dat prohlížeči ve formátu JSON lze využít předpřipravený objekt `payload`:
```php
@@ -60,6 +64,21 @@ npm install naja
```
+Aby se z obyčejného odkazu (signálu) nebo odeslání formuláře vytvořil AJAXový požadavek, stačí označit příslušný odkaz, formulář nebo tlačítko třídou `ajax`:
+
+```html
+Go
+
+
+
+nebo
+
+```
+
Snippety
========
diff --git a/application/cs/bootstrap.texy b/application/cs/bootstrap.texy
index fdb5decb4d..55fbbfc0f5 100644
--- a/application/cs/bootstrap.texy
+++ b/application/cs/bootstrap.texy
@@ -174,7 +174,7 @@ $configurator->addStaticParameters([
]);
```
-Na parametr `projectId` se lze v konfiguraci odkázat obvyklým zápisem `%projectId%`. Třída Configurator automaticky přidává parametry `appDir`, `wwwDir`, `tempDir`, `vendorDir`, `debugMode` a `consoleMode`.
+Na parametr `projectId` se lze v konfiguraci odkázat obvyklým zápisem `%projectId%`.
Dynamické parametry
@@ -197,6 +197,19 @@ $configurator->addDynamicParameters([
```
+Výchozí parametry
+-----------------
+
+V konfiguračních souborech můžete využít tyto statické parametry:
+
+- `%appDir%` je absolutní cesta k adresáři se souborem `Bootstrap.php`
+- `%wwwDir%` je absolutní cesta k adresáři se vstupním souborem `index.php`
+- `%tempDir%` je absolutní cesta k adresáři pro dočasné soubory
+- `%vendorDir%` je absolutní cesta k adresáři, kam Composer instaluje knihovny
+- `%debugMode%` udává, zda je aplikace v debugovacím režimu
+- `%consoleMode%` udává, zda request přišel přes příkazovou řádku
+
+
Importované služby
------------------
diff --git a/application/cs/presenters.texy b/application/cs/presenters.texy
index dd318e3099..c6621449e7 100644
--- a/application/cs/presenters.texy
+++ b/application/cs/presenters.texy
@@ -158,7 +158,7 @@ Metoda `forward()` přejde na nový presenter okamžitě bez HTTP přesměrován
$this->forward('Product:show');
```
-Příklad tzv. dočasného přesměrování s HTTP kódem 302 nebo 303:
+Příklad tzv. dočasného přesměrování s HTTP kódem 302 (nebo 303, je-li metoda aktuálního požadavku POST):
```php
$this->redirect('Product:show', $id);
@@ -170,7 +170,7 @@ Permanentní přesměrování s HTTP kódem 301 docílíte takto:
$this->redirectPermanent('Product:show', $id);
```
-Na jinou URL mimo aplikaci lze přesměrovat metodou `redirectUrl()`:
+Na jinou URL mimo aplikaci lze přesměrovat metodou `redirectUrl()`. Jako druhý parametr lze uvést HTTP kód, výchozí je 302 (nebo 303, je-li metoda aktuálního požadavku POST):
```php
$this->redirectUrl('https://nette.org');
diff --git a/application/cs/templates.texy b/application/cs/templates.texy
index 3630e00ee4..5d0de8dc1a 100644
--- a/application/cs/templates.texy
+++ b/application/cs/templates.texy
@@ -42,7 +42,9 @@ Cestu k šablonám odvodí presenter podle jednoduché logiky. Zkusí, zda exist
- `templates//.latte`
- `templates/..latte`
-Pokud šablonu nenajde, je odpovědí [chyba 404|presenters#Chyba 404 a spol.].
+Pokud šablonu nenajde, zkusí hledat ještě v adresáři `templates` o úroveň výš, tj. na stejné úrovni, jako je adresář s třídou presenteru.
+
+Pokud ani tam šablonu nenajde, je odpovědí [chyba 404|presenters#Chyba 404 a spol.].
Můžete také změnit view pomocí `$this->setView('jineView')`. Nebo místo dohledávání přímo určit jméno souboru se šablonou pomocí `$this->template->setFile('/path/to/template.latte')`.
diff --git a/application/de/ajax.texy b/application/de/ajax.texy
index bcdbd4ac93..63922c5732 100644
--- a/application/de/ajax.texy
+++ b/application/de/ajax.texy
@@ -10,9 +10,13 @@ Moderne Webanwendungen laufen heute zur Hälfte auf einem Server und zur Hälfte
-Eine AJAX-Anfrage kann mit einer Methode eines Dienstes, [der eine HTTP-Anfrage kapselt |http:request], erkannt werden `$httpRequest->isAjax()` (erkennt anhand des `X-Requested-With` HTTP-Headers). Es gibt auch eine Kurzform der Methode in Presenter: `$this->isAjax()`.
-Eine AJAX-Anfrage unterscheidet sich nicht von einer normalen Anfrage - ein Presenter wird mit einer bestimmten Ansicht und Parametern aufgerufen. Auch hier ist es dem Präsentator überlassen, wie er reagiert: Er kann seine Routinen nutzen, um entweder ein Fragment von HTML-Code (ein Snippet), ein XML-Dokument, ein JSON-Objekt oder ein Stück Javascript-Code zurückzugeben.
+AJAX-Anfrage .[#toc-ajax-request]
+=================================
+
+Eine AJAX-Anfrage unterscheidet sich nicht von einer klassischen Anfrage - der Presenter wird mit einer bestimmten Ansicht und Parametern aufgerufen. Es liegt auch am Präsentator, wie er darauf reagiert: Er kann seine eigene Routine verwenden, die ein HTML-Codefragment (HTML-Snippet), ein XML-Dokument, ein JSON-Objekt oder JavaScript-Code zurückgibt.
+
+Auf der Serverseite kann eine AJAX-Anfrage mit Hilfe der Servicemethode erkannt werden [, die die HTTP-Anfrage kapselt |http:request] `$httpRequest->isAjax()` (erkennt auf der Grundlage des HTTP-Headers `X-Requested-With`). Innerhalb des Presenters ist eine Abkürzung in Form der Methode `$this->isAjax()` verfügbar.
Es gibt ein vorverarbeitetes Objekt namens `payload`, das für das Senden von Daten in JSON an den Browser bestimmt ist.
@@ -60,6 +64,21 @@ npm install naja
```
+Um eine AJAX-Anfrage aus einem regulären Link (Signal) oder einer Formularübermittlung zu erzeugen, markieren Sie einfach den entsprechenden Link, das Formular oder die Schaltfläche mit der Klasse `ajax`:
+
+```html
+Go
+
+
+
+or
+
+```
+
Schnipsel .[#toc-snippets]
==========================
diff --git a/application/de/bootstrap.texy b/application/de/bootstrap.texy
index 217e1b2407..590e4e76ef 100644
--- a/application/de/bootstrap.texy
+++ b/application/de/bootstrap.texy
@@ -174,7 +174,7 @@ $configurator->addStaticParameters([
]);
```
-In Konfigurationsdateien können wir die übliche Notation `%projectId%` verwenden, um auf den Parameter mit dem Namen `projectId` zuzugreifen. Standardmäßig füllt der Configurator die folgenden Parameter aus: `appDir`, `wwwDir`, `tempDir`, `vendorDir`, `debugMode` und `consoleMode`.
+In Konfigurationsdateien können wir die übliche Notation `%projectId%` verwenden, um auf den Parameter `projectId` zuzugreifen.
Dynamische Parameter .[#toc-dynamic-parameters]
@@ -197,6 +197,19 @@ $configurator->addDynamicParameters([
```
+Standard-Parameter .[#toc-default-parameters]
+---------------------------------------------
+
+Sie können die folgenden statischen Parameter in den Konfigurationsdateien verwenden:
+
+- `%appDir%` ist der absolute Pfad zu dem Verzeichnis, in dem sich die Datei `Bootstrap.php` befindet
+- `%wwwDir%` ist der absolute Pfad zu dem Verzeichnis, das die `index.php` Eintragsdatei enthält
+- `%tempDir%` ist der absolute Pfad zu dem Verzeichnis für temporäre Dateien
+- `%vendorDir%` ist der absolute Pfad zu dem Verzeichnis, in dem Composer die Bibliotheken installiert
+- `%debugMode%` gibt an, ob sich die Anwendung im Debug-Modus befindet
+- `%consoleMode%` zeigt an, ob die Anfrage über die Befehlszeile kam
+
+
Importierte Dienste .[#toc-imported-services]
---------------------------------------------
diff --git a/application/de/presenters.texy b/application/de/presenters.texy
index b8aa5238e5..3e5c98a43d 100644
--- a/application/de/presenters.texy
+++ b/application/de/presenters.texy
@@ -158,7 +158,7 @@ Die `forward()` schaltet ohne HTTP-Umleitung sofort auf den neuen Präsentator u
$this->forward('Product:show');
```
-Beispiel einer temporären Umleitung mit HTTP-Code 302 oder 303:
+Beispiel für eine so genannte temporäre Umleitung mit HTTP-Code 302 (oder 303, wenn die aktuelle Anfragemethode POST ist):
```php
$this->redirect('Product:show', $id);
@@ -170,7 +170,7 @@ Um eine dauerhafte Umleitung mit HTTP-Code 301 zu erreichen, verwenden Sie:
$this->redirectPermanent('Product:show', $id);
```
-Sie können mit der Methode `redirectUrl()` zu einer anderen URL außerhalb der Anwendung umleiten:
+Sie können mit der Methode `redirectUrl()` zu einer anderen URL außerhalb der Anwendung umleiten. Der HTTP-Code kann als zweiter Parameter angegeben werden, wobei der Standardwert 302 ist (oder 303, wenn die aktuelle Anforderungsmethode POST ist):
```php
$this->redirectUrl('https://nette.org');
diff --git a/application/de/templates.texy b/application/de/templates.texy
index 10b1ae1db5..a21bd7266f 100644
--- a/application/de/templates.texy
+++ b/application/de/templates.texy
@@ -42,7 +42,9 @@ Der Pfad zu den Vorlagen wird nach einer einfachen Logik hergeleitet. Es wird ve
- `templates//.latte`
- `templates/..latte`
-Wenn die Vorlage nicht gefunden wird, wird der [Fehler 404 |presenters#Error 404 etc.] ausgegeben.
+Wird die Vorlage nicht gefunden, wird versucht, im Verzeichnis `templates` eine Ebene höher zu suchen, d. h. auf der gleichen Ebene wie das Verzeichnis mit der Presenter-Klasse.
+
+Wenn die Vorlage auch dort nicht gefunden wird, ist die Antwort ein [404-Fehler |presenters#Error 404 etc.].
Sie können die Ansicht auch mit `$this->setView('otherView')` ändern. Oder geben Sie statt der Suche direkt den Namen der Vorlagendatei mit `$this->template->setFile('/path/to/template.latte')` an.
diff --git a/application/el/ajax.texy b/application/el/ajax.texy
index 7e9e5c2d76..8ca0741a48 100644
--- a/application/el/ajax.texy
+++ b/application/el/ajax.texy
@@ -10,9 +10,13 @@ AJAX & Snippets
-Μια αίτηση AJAX μπορεί να ανιχνευθεί με τη χρήση μιας μεθόδου μιας υπηρεσίας που [ενθυλακώνει μια αίτηση HTTP |http:request] `$httpRequest->isAjax()` (ανιχνεύει με βάση την επικεφαλίδα `X-Requested-With` HTTP). Υπάρχει επίσης μια σύντομη μέθοδος στο presenter: `$this->isAjax()`.
-Μια αίτηση AJAX δεν διαφέρει από μια κανονική αίτηση - καλείται ένας παρουσιαστής με μια συγκεκριμένη προβολή και παραμέτρους. Εξαρτάται, επίσης, από τον παρουσιαστή πώς θα αντιδράσει: μπορεί να χρησιμοποιήσει τις ρουτίνες του για να επιστρέψει είτε ένα τμήμα κώδικα HTML (ένα απόσπασμα), ένα έγγραφο XML, ένα αντικείμενο JSON ή ένα κομμάτι κώδικα Javascript.
+Αίτηση AJAX .[#toc-ajax-request]
+================================
+
+Ένα αίτημα AJAX δεν διαφέρει από ένα κλασικό αίτημα - ο παρουσιαστής καλείται με μια συγκεκριμένη προβολή και παραμέτρους. Εξαρτάται επίσης από τον παρουσιαστή πώς θα απαντήσει σε αυτό: μπορεί να χρησιμοποιήσει τη δική του ρουτίνα, η οποία επιστρέφει ένα τμήμα κώδικα HTML (απόσπασμα HTML), ένα έγγραφο XML, ένα αντικείμενο JSON ή κώδικα JavaScript.
+
+Από την πλευρά του διακομιστή, ένα αίτημα AJAX μπορεί να ανιχνευθεί χρησιμοποιώντας τη μέθοδο service που [ενθυλακώνει το αίτημα HTTP |http:request] `$httpRequest->isAjax()` (ανιχνεύει με βάση την επικεφαλίδα HTTP `X-Requested-With`). Στο εσωτερικό του παρουσιαστή, είναι διαθέσιμη μια συντόμευση με τη μορφή της μεθόδου `$this->isAjax()`.
Υπάρχει ένα προεπεξεργασμένο αντικείμενο που ονομάζεται `payload` και είναι αφιερωμένο στην αποστολή δεδομένων στο πρόγραμμα περιήγησης σε JSON.
@@ -60,6 +64,21 @@ npm install naja
```
+Για να δημιουργήσετε μια αίτηση AJAX από έναν κανονικό σύνδεσμο (σήμα) ή μια υποβολή φόρμας, απλά επισημάνετε τον σχετικό σύνδεσμο, τη φόρμα ή το κουμπί με την κλάση `ajax`:
+
+```html
+Go
+
+
+
+or
+
+```
+
Snippets .[#toc-snippets]
=========================
diff --git a/application/el/bootstrap.texy b/application/el/bootstrap.texy
index 830a951dd6..71f6028048 100644
--- a/application/el/bootstrap.texy
+++ b/application/el/bootstrap.texy
@@ -174,7 +174,7 @@ $configurator->addStaticParameters([
]);
```
-Στα αρχεία ρυθμίσεων, μπορούμε να γράψουμε τον συνήθη συμβολισμό `%projectId%` για να αποκτήσουμε πρόσβαση στην παράμετρο με το όνομα `projectId`. Από προεπιλογή, ο διαμορφωτής συμπληρώνει τις ακόλουθες παραμέτρους: `appDir`, `wwwDir`, `tempDir`, `vendorDir`, `debugMode` και `consoleMode`.
+Στα αρχεία ρυθμίσεων, μπορούμε να γράψουμε τον συνήθη συμβολισμό `%projectId%` για να αποκτήσουμε πρόσβαση στην παράμετρο με το όνομα `projectId`.
Δυναμικές παράμετροι .[#toc-dynamic-parameters]
@@ -197,6 +197,19 @@ $configurator->addDynamicParameters([
```
+Προεπιλεγμένες παράμετροι .[#toc-default-parameters]
+----------------------------------------------------
+
+Μπορείτε να χρησιμοποιήσετε τις ακόλουθες στατικές παραμέτρους στα αρχεία διαμόρφωσης:
+
+- `%appDir%` είναι η απόλυτη διαδρομή προς τον κατάλογο του αρχείου `Bootstrap.php`
+- `%wwwDir%` είναι η απόλυτη διαδρομή προς τον κατάλογο που περιέχει το αρχείο καταχώρησης `index.php`
+- `%tempDir%` είναι η απόλυτη διαδρομή προς τον κατάλογο για τα προσωρινά αρχεία
+- `%vendorDir%` είναι η απόλυτη διαδρομή προς τον κατάλογο όπου ο Composer εγκαθιστά τις βιβλιοθήκες
+- Το `%debugMode%` δηλώνει αν η εφαρμογή βρίσκεται σε κατάσταση αποσφαλμάτωσης.
+- Το `%consoleMode%` δηλώνει αν η αίτηση υποβλήθηκε μέσω της γραμμής εντολών.
+
+
Εισαγόμενες υπηρεσίες .[#toc-imported-services]
-----------------------------------------------
diff --git a/application/el/presenters.texy b/application/el/presenters.texy
index f80336cde8..98c5b4ea42 100644
--- a/application/el/presenters.texy
+++ b/application/el/presenters.texy
@@ -158,7 +158,7 @@ $url = $this->link('Product:show', [$id, 'lang' => 'en']);
$this->forward('Product:show');
```
-με κωδικό HTTP 302 ή 303:
+Παράδειγμα μιας λεγόμενης προσωρινής ανακατεύθυνσης με κωδικό HTTP 302 (ή 303, εάν η τρέχουσα μέθοδος αίτησης είναι POST):
```php
$this->redirect('Product:show', $id);
@@ -170,7 +170,7 @@ $this->redirect('Product:show', $id);
$this->redirectPermanent('Product:show', $id);
```
-Μπορείτε να ανακατευθύνετε σε μια άλλη διεύθυνση URL εκτός της εφαρμογής με τη μέθοδο `redirectUrl()`:
+Μπορείτε να ανακατευθύνετε σε μια άλλη διεύθυνση URL εκτός της εφαρμογής χρησιμοποιώντας τη μέθοδο `redirectUrl()`. Ο κωδικός HTTP μπορεί να καθοριστεί ως δεύτερη παράμετρος, με προεπιλεγμένη τιμή 302 (ή 303, αν η τρέχουσα μέθοδος αίτησης είναι POST):
```php
$this->redirectUrl('https://nette.org');
diff --git a/application/el/templates.texy b/application/el/templates.texy
index c4ee865e55..4b83599f45 100644
--- a/application/el/templates.texy
+++ b/application/el/templates.texy
@@ -42,7 +42,9 @@
- `templates//.latte`
- `templates/..latte`
-Αν δεν βρει το πρότυπο, η απάντηση είναι [σφάλμα 404 |presenters#Error 404 etc.].
+Αν το πρότυπο δεν βρεθεί, θα προσπαθήσει να ψάξει στον κατάλογο `templates` ένα επίπεδο πιο πάνω, δηλαδή στο ίδιο επίπεδο με τον κατάλογο με την κλάση παρουσιαστή.
+
+Εάν το πρότυπο δεν βρεθεί ούτε εκεί, η απάντηση είναι ένα [σφάλμα 404 |presenters#Error 404 etc.].
Μπορείτε επίσης να αλλάξετε την προβολή χρησιμοποιώντας το `$this->setView('otherView')`. Ή, αντί για αναζήτηση, καθορίστε απευθείας το όνομα του αρχείου προτύπου χρησιμοποιώντας τη διεύθυνση `$this->template->setFile('/path/to/template.latte')`.
diff --git a/application/en/ajax.texy b/application/en/ajax.texy
index b5d635a10c..f43ff28c2f 100644
--- a/application/en/ajax.texy
+++ b/application/en/ajax.texy
@@ -10,9 +10,13 @@ Modern web applications nowadays run half on a server and half in a browser. AJA
-An AJAX request can be detected using a method of a service [encapsulating a HTTP request |http:request] `$httpRequest->isAjax()` (detects based on the `X-Requested-With` HTTP header). There is also a shorthand method in presenter: `$this->isAjax()`.
-An AJAX request is no different from a normal one – a presenter is called with a certain view and parameters. It is, too, up to the presenter how will it react: it can use its routines to either return a fragment of HTML code (a snippet), an XML document, a JSON object or a piece of Javascript code.
+AJAX Request
+============
+
+An AJAX request does not differ from a classic request - the presenter is called with a specific view and parameters. It is also up to the presenter how to respond to it: it can use its own routine, which returns an HTML code fragment (HTML snippet), an XML document, a JSON object, or JavaScript code.
+
+On the server side, an AJAX request can be detected using the service method [encapsulating the HTTP request |http:request] `$httpRequest->isAjax()` (detects based on the HTTP header `X-Requested-With`). Inside the presenter, a shortcut is available in the form of the method `$this->isAjax()`.
There is a pre-processed object called `payload` dedicated to sending data to the browser in JSON.
@@ -60,6 +64,21 @@ npm install naja
```
+To create an AJAX request from a regular link (signal) or form submittion, simply mark the relevant link, form, or button with the class `ajax`:
+
+```html
+Go
+
+
+
+or
+
+```
+
Snippets
========
diff --git a/application/en/bootstrap.texy b/application/en/bootstrap.texy
index c7927f9733..c763e715a3 100644
--- a/application/en/bootstrap.texy
+++ b/application/en/bootstrap.texy
@@ -174,7 +174,7 @@ $configurator->addStaticParameters([
]);
```
-In configuration files, we can write usual notation `%projectId%` to access the parameter named `projectId`. By default, the Configurator populates the following parameters: `appDir`, `wwwDir`, `tempDir`, `vendorDir`, `debugMode` and `consoleMode`.
+In configuration files, we can write usual notation `%projectId%` to access the parameter named `projectId`.
Dynamic Parameters
@@ -197,6 +197,19 @@ $configurator->addDynamicParameters([
```
+Default Parameters
+------------------
+
+You can use the following static parameters in the configuration files:
+
+- `%appDir%` is the absolute path to the directory of `Bootstrap.php` file
+- `%wwwDir%` is the absolute path to the directory containing the `index.php` entry file
+- `%tempDir%` is the absolute path to the directory for temporary files
+- `%vendorDir%` is the absolute path to the directory where Composer installs libraries
+- `%debugMode%` indicates whether the application is in debug mode
+- `%consoleMode%` indicates whether the request came through the command line
+
+
Imported Services
-----------------
diff --git a/application/en/presenters.texy b/application/en/presenters.texy
index 62ded13925..680b937cf9 100644
--- a/application/en/presenters.texy
+++ b/application/en/presenters.texy
@@ -158,7 +158,7 @@ The `forward()` switches to the new presenter immediately without HTTP redirecti
$this->forward('Product:show');
```
-Example of temporary redirection with HTTP code 302 or 303:
+Example of a so-called temporary redirection with HTTP code 302 (or 303, if the current request method is POST):
```php
$this->redirect('Product:show', $id);
@@ -170,7 +170,7 @@ To achieve permanent redirection with HTTP code 301 use:
$this->redirectPermanent('Product:show', $id);
```
-You can redirect to another URL outside the application with the `redirectUrl()` method:
+You can redirect to another URL outside the application using the `redirectUrl()` method. The HTTP code can be specified as the second parameter, with the default being 302 (or 303, if the current request method is POST):
```php
$this->redirectUrl('https://nette.org');
diff --git a/application/en/templates.texy b/application/en/templates.texy
index 9c743b280b..5107b4493a 100644
--- a/application/en/templates.texy
+++ b/application/en/templates.texy
@@ -42,7 +42,9 @@ The path to the templates is deduced according to simple logic. It tries to see
- `templates//.latte`
- `templates/..latte`
-If it does not find the template, the response is [error 404 |presenters#Error 404 etc.].
+If the template is not found, it will try to search in the `templates` directory one level up, i.e., at the same level as the directory with the presenter class.
+
+If the template is not found there either, the response is a [404 error|presenters#Error 404 etc.].
You can also change the view using `$this->setView('otherView')`. Or, instead of searching, directly specify the name of the template file using `$this->template->setFile('/path/to/template.latte')`.
diff --git a/application/es/ajax.texy b/application/es/ajax.texy
index a81eb64441..0ba8886dd4 100644
--- a/application/es/ajax.texy
+++ b/application/es/ajax.texy
@@ -10,9 +10,13 @@ Hoy en día, las aplicaciones web modernas se ejecutan mitad en un servidor y mi
-Una solicitud AJAX puede detectarse utilizando un método de un servicio que [encapsula una solicitud HTTP |http:request] `$httpRequest->isAjax()` (detecta basándose en la cabecera HTTP `X-Requested-With` ). También existe un método abreviado en presentador: `$this->isAjax()`.
-Una petición AJAX no difiere de una normal: se llama a un presentador con una vista y unos parámetros determinados. También depende del presentador cómo reaccionará: puede utilizar sus rutinas para devolver un fragmento de código HTML (un snippet), un documento XML, un objeto JSON o un fragmento de código Javascript.
+Solicitud AJAX .[#toc-ajax-request]
+===================================
+
+Una petición AJAX no difiere de una petición clásica: se llama al presentador con una vista y unos parámetros específicos. También depende del presentador cómo responder a ella: puede utilizar su propia rutina, que devuelve un fragmento de código HTML (HTML snippet), un documento XML, un objeto JSON o código JavaScript.
+
+En el lado del servidor, una petición AJAX puede detectarse utilizando el método de servicio [que encapsula la petición HTTP |http:request] `$httpRequest->isAjax()` (detecta basándose en la cabecera HTTP `X-Requested-With`). Dentro del presentador, se dispone de un acceso directo en forma del método `$this->isAjax()`.
Existe un objeto preprocesado llamado `payload` dedicado a enviar datos al navegador en JSON.
@@ -60,6 +64,21 @@ npm install naja
```
+Para crear una solicitud AJAX a partir de un enlace normal (señal) o el envío de un formulario, basta con marcar el enlace, formulario o botón correspondiente con la clase `ajax`:
+
+```html
+Go
+
+
+
+or
+
+```
+
Fragmentos .[#toc-snippets]
===========================
diff --git a/application/es/bootstrap.texy b/application/es/bootstrap.texy
index ef1140b871..3b67d5c4b9 100644
--- a/application/es/bootstrap.texy
+++ b/application/es/bootstrap.texy
@@ -174,7 +174,7 @@ $configurator->addStaticParameters([
]);
```
-En los archivos de configuración, podemos escribir la notación habitual `%projectId%` para acceder al parámetro denominado `projectId`. Por defecto, el Configurador rellena los siguientes parámetros: `appDir`, `wwwDir`, `tempDir`, `vendorDir`, `debugMode` y `consoleMode`.
+En los archivos de configuración, podemos escribir la notación habitual `%projectId%` para acceder al parámetro denominado `projectId`.
Parámetros dinámicos .[#toc-dynamic-parameters]
@@ -197,6 +197,19 @@ $configurator->addDynamicParameters([
```
+Parámetros por defecto .[#toc-default-parameters]
+-------------------------------------------------
+
+Puede utilizar los siguientes parámetros estáticos en los archivos de configuración:
+
+- `%appDir%` es la ruta absoluta al directorio del archivo `Bootstrap.php`
+- `%wwwDir%` es la ruta absoluta al directorio que contiene el archivo de entrada `index.php`
+- `%tempDir%` es la ruta absoluta al directorio para los archivos temporales
+- `%vendorDir%` es la ruta absoluta al directorio donde Composer instala las bibliotecas
+- `%debugMode%` indica si la aplicación está en modo depuración
+- `%consoleMode%` indica si la solicitud llegó a través de la línea de comandos
+
+
Servicios importados .[#toc-imported-services]
----------------------------------------------
diff --git a/application/es/presenters.texy b/application/es/presenters.texy
index 20722240db..0bbbb69867 100644
--- a/application/es/presenters.texy
+++ b/application/es/presenters.texy
@@ -158,7 +158,7 @@ El `forward()` cambia al nuevo presentador inmediatamente sin redirección HTTP:
$this->forward('Product:show');
```
-Ejemplo de redirección temporal con código HTTP 302 o 303:
+Ejemplo de una redirección temporal con código HTTP 302 (o 303, si el método de solicitud actual es POST):
```php
$this->redirect('Product:show', $id);
@@ -170,7 +170,7 @@ Para conseguir una redirección permanente con código HTTP 301 utilice:
$this->redirectPermanent('Product:show', $id);
```
-Puede redirigir a otra URL fuera de la aplicación con el método `redirectUrl()`:
+Puede redirigir a otra URL fuera de la aplicación utilizando el método `redirectUrl()`. El código HTTP puede especificarse como segundo parámetro, siendo el predeterminado 302 (o 303, si el método de solicitud actual es POST):
```php
$this->redirectUrl('https://nette.org');
diff --git a/application/es/templates.texy b/application/es/templates.texy
index bbae32eb8a..761f7a648e 100644
--- a/application/es/templates.texy
+++ b/application/es/templates.texy
@@ -42,7 +42,9 @@ La ruta a las plantillas se deduce según una lógica simple. Se intenta ver si
- `templates//.latte`
- `templates/..latte`
-Si no encuentra la plantilla, la respuesta es [error 404 |presenters#Error 404 etc.].
+Si no se encuentra la plantilla, se intentará buscar en el directorio `templates` un nivel más arriba, es decir, al mismo nivel que el directorio con la clase presentadora.
+
+Si la plantilla tampoco se encuentra allí, la respuesta es un [error 404 |presenters#Error 404 etc.].
También puede cambiar la vista utilizando `$this->setView('otherView')`. O, en lugar de buscar, especifique directamente el nombre del archivo de plantilla utilizando `$this->template->setFile('/path/to/template.latte')`.
diff --git a/application/fr/ajax.texy b/application/fr/ajax.texy
index 06f9ffb892..55c07c6dc6 100644
--- a/application/fr/ajax.texy
+++ b/application/fr/ajax.texy
@@ -10,9 +10,13 @@ Les applications web modernes fonctionnent aujourd'hui pour moitié sur un serve
-Une requête AJAX peut être détectée à l'aide d'une méthode d'un service [encapsulant une requête HTTP |http:request] `$httpRequest->isAjax()` (détecte sur la base de l'en-tête HTTP `X-Requested-With` ). Il existe également une méthode abrégée dans Presenter : `$this->isAjax()`.
-Une demande AJAX n'est pas différente d'une demande normale - un présentateur est appelé avec une certaine vue et des paramètres. La réaction du présentateur est également libre : il peut utiliser ses routines pour renvoyer un fragment de code HTML (un snippet), un document XML, un objet JSON ou un morceau de code Javascript.
+Demande AJAX .[#toc-ajax-request]
+=================================
+
+Une requête AJAX ne diffère pas d'une requête classique : le diffuseur est appelé avec une vue et des paramètres spécifiques. C'est également au présentateur de décider comment y répondre : il peut utiliser sa propre routine, qui renvoie un fragment de code HTML (extrait HTML), un document XML, un objet JSON ou du code JavaScript.
+
+Côté serveur, une requête AJAX peut être détectée à l'aide de la méthode de service [encapsulant la requête HTTP |http:request] `$httpRequest->isAjax()` (détection basée sur l'en-tête HTTP `X-Requested-With`). Dans le présentateur, un raccourci est disponible sous la forme de la méthode `$this->isAjax()`.
Il existe un objet prétraité appelé `payload` dédié à l'envoi de données au navigateur en JSON.
@@ -60,6 +64,21 @@ npm install naja
```
+Pour créer une requête AJAX à partir d'un lien normal (signal) ou d'une soumission de formulaire, il suffit de marquer le lien, le formulaire ou le bouton concerné avec la classe `ajax`:
+
+```html
+Go
+
+
+
+or
+
+```
+
Extraits de texte .[#toc-snippets]
==================================
diff --git a/application/fr/bootstrap.texy b/application/fr/bootstrap.texy
index fbb3566d18..8bea659e34 100644
--- a/application/fr/bootstrap.texy
+++ b/application/fr/bootstrap.texy
@@ -174,7 +174,7 @@ $configurator->addStaticParameters([
]);
```
-Dans les fichiers de configuration, nous pouvons écrire la notation usuelle `%projectId%` pour accéder au paramètre nommé `projectId`. Par défaut, le configurateur renseigne les paramètres suivants : `appDir`, `wwwDir`, `tempDir`, `vendorDir`, `debugMode` et `consoleMode`.
+Dans les fichiers de configuration, nous pouvons écrire la notation habituelle `%projectId%` pour accéder au paramètre nommé `projectId`.
Paramètres dynamiques .[#toc-dynamic-parameters]
@@ -197,6 +197,19 @@ $configurator->addDynamicParameters([
```
+Paramètres par défaut .[#toc-default-parameters]
+------------------------------------------------
+
+Vous pouvez utiliser les paramètres statiques suivants dans les fichiers de configuration :
+
+- `%appDir%` est le chemin absolu vers le répertoire du fichier `Bootstrap.php`
+- `%wwwDir%` est le chemin absolu vers le répertoire contenant le fichier d'entrée `index.php`
+- `%tempDir%` est le chemin absolu vers le répertoire des fichiers temporaires
+- `%vendorDir%` est le chemin absolu vers le répertoire où Composer installe les bibliothèques
+- `%debugMode%` indique si l'application est en mode débogage
+- `%consoleMode%` indique si la demande provient de la ligne de commande
+
+
Services importés .[#toc-imported-services]
-------------------------------------------
diff --git a/application/fr/presenters.texy b/application/fr/presenters.texy
index 3f9caa0405..59db98b157 100644
--- a/application/fr/presenters.texy
+++ b/application/fr/presenters.texy
@@ -158,7 +158,7 @@ La méthode `forward()` permet de passer immédiatement au nouveau présentateur
$this->forward('Product:show');
```
-Exemple de redirection temporaire avec le code HTTP 302 ou 303 :
+Exemple de redirection temporaire avec le code HTTP 302 (ou 303, si la méthode de requête actuelle est POST) :
```php
$this->redirect('Product:show', $id);
@@ -170,7 +170,7 @@ Pour obtenir une redirection permanente avec le code HTTP 301, utilisez :
$this->redirectPermanent('Product:show', $id);
```
-Vous pouvez rediriger vers une autre URL en dehors de l'application avec la méthode `redirectUrl()`:
+Vous pouvez rediriger vers une autre URL en dehors de l'application en utilisant la méthode `redirectUrl()`. Le code HTTP peut être spécifié comme deuxième paramètre, la valeur par défaut étant 302 (ou 303, si la méthode de requête actuelle est POST) :
```php
$this->redirectUrl('https://nette.org');
diff --git a/application/fr/templates.texy b/application/fr/templates.texy
index 83ac0a9d46..8ecd733495 100644
--- a/application/fr/templates.texy
+++ b/application/fr/templates.texy
@@ -42,7 +42,9 @@ Le chemin vers les modèles est déduit selon une logique simple. Il essaie de v
- `templates//.latte`
- `templates/..latte`
-S'il ne trouve pas le modèle, la réponse est une [erreur 404 |presenters#Error 404 etc.].
+Si le modèle n'est pas trouvé, il essaiera de chercher dans le répertoire `templates` au niveau supérieur, c'est-à-dire au même niveau que le répertoire contenant la classe du présentateur.
+
+Si le modèle n'y est pas trouvé non plus, la réponse est une [erreur 404 |presenters#Error 404 etc.].
Vous pouvez également changer la vue en utilisant `$this->setView('otherView')`. Ou, au lieu de chercher, spécifiez directement le nom du fichier de modèle en utilisant `$this->template->setFile('/path/to/template.latte')`.
diff --git a/application/hu/ajax.texy b/application/hu/ajax.texy
index adab48653b..fb0a6e08b8 100644
--- a/application/hu/ajax.texy
+++ b/application/hu/ajax.texy
@@ -10,9 +10,13 @@ A modern webes alkalmazások manapság félig a szerveren, félig a böngészőb
-Egy AJAX-kérés a `$httpRequest->isAjax()` [HTTP-kérést kapszulázó |http:request] szolgáltatás módszerével detektálható (a `X-Requested-With` HTTP-fejléc alapján detektál). A prezenterben is van egy rövidített módszer: `$this->isAjax()`.
-Az AJAX-kérés nem különbözik a normál kéréstől - a prezentert egy bizonyos nézettel és paraméterekkel hívják meg. Az is a prezenteren múlik, hogy miként reagál: a rutinjaival vagy egy HTML kódrészletet (snippet), egy XML-dokumentumot, egy JSON objektumot vagy egy Javascript kódrészletet adhat vissza.
+AJAX kérés .[#toc-ajax-request]
+===============================
+
+Az AJAX-kérés nem különbözik a klasszikus kéréstől - a bemutatót egy adott nézettel és paraméterekkel hívják meg. Az is a prezenteren múlik, hogyan válaszol rá: használhat saját rutint, amely egy HTML kódrészletet (HTML snippet), egy XML-dokumentumot, egy JSON-objektumot vagy JavaScript-kódot ad vissza.
+
+Kiszolgálói oldalon az AJAX-kérés a [HTTP-kérést kapszulázó |http:request] szolgáltatási módszerrel detektálható `$httpRequest->isAjax()` (a HTTP fejléc alapján detektál `X-Requested-With`). A prezenteren belül a `$this->isAjax()` metódus formájában egy rövidítés áll rendelkezésre.
Létezik egy `payload` nevű előfeldolgozott objektum, amely arra szolgál, hogy az adatokat JSON-ban küldje el a böngészőnek.
@@ -60,6 +64,21 @@ npm install naja
```
+Ahhoz, hogy AJAX-kérést hozzon létre egy hagyományos linkből (jel) vagy űrlapküldésből, egyszerűen jelölje meg az adott linket, űrlapot vagy gombot a `ajax` osztállyal:
+
+```html
+Go
+
+
+
+or
+
+```
+
Snippets .[#toc-snippets]
=========================
diff --git a/application/hu/bootstrap.texy b/application/hu/bootstrap.texy
index 941bad5c80..5d0a614439 100644
--- a/application/hu/bootstrap.texy
+++ b/application/hu/bootstrap.texy
@@ -174,7 +174,7 @@ $configurator->addStaticParameters([
]);
```
-A konfigurációs fájlokban a `%projectId%` szokásos jelölést írhatjuk a `projectId` nevű paraméter eléréséhez. Alapértelmezés szerint a konfigurátor a következő paramétereket tölti fel: `appDir`, `wwwDir`, `tempDir`, `vendorDir`, `debugMode` és `consoleMode`.
+A konfigurációs fájlokban a `%projectId%` szokásos jelölést írhatjuk a `projectId` nevű paraméter eléréséhez.
Dinamikus paraméterek .[#toc-dynamic-parameters]
@@ -197,6 +197,19 @@ $configurator->addDynamicParameters([
```
+Alapértelmezett paraméterek .[#toc-default-parameters]
+------------------------------------------------------
+
+A konfigurációs fájlokban a következő statikus paramétereket használhatja:
+
+- `%appDir%` a `Bootstrap.php` fájl könyvtárának abszolút elérési útja.
+- `%wwwDir%` a `index.php` beviteli fájlt tartalmazó könyvtár abszolút elérési útja.
+- `%tempDir%` az ideiglenes fájlok könyvtárának abszolút elérési útja.
+- `%vendorDir%` az abszolút elérési út a könyvtárak Composer általi telepítésének könyvtárához.
+- `%debugMode%` jelzi, hogy az alkalmazás hibakeresési módban van-e.
+- `%consoleMode%` jelzi, hogy a kérés a parancssoron keresztül érkezett-e.
+
+
Importált szolgáltatások .[#toc-imported-services]
--------------------------------------------------
diff --git a/application/hu/presenters.texy b/application/hu/presenters.texy
index 85c6c2df1b..d2c2238c1a 100644
--- a/application/hu/presenters.texy
+++ b/application/hu/presenters.texy
@@ -158,7 +158,7 @@ A `forward()` azonnal átvált az új bemutatóra HTTP átirányítás nélkül:
$this->forward('Product:show');
```
-Példa ideiglenes átirányításra 302 vagy 303 HTTP-kóddal:
+Példa egy úgynevezett ideiglenes átirányításra 302-es HTTP-kóddal (vagy 303-as kóddal, ha az aktuális kérési mód POST):
```php
$this->redirect('Product:show', $id);
@@ -170,7 +170,7 @@ A 301-es kódú HTTP-kóddal történő állandó átirányítás eléréséhez
$this->redirectPermanent('Product:show', $id);
```
-A `redirectUrl()` módszerrel átirányíthat egy másik, az alkalmazáson kívüli URL-címre:
+A `redirectUrl()` módszerrel átirányíthat egy másik, az alkalmazáson kívüli URL-címre. A HTTP-kódot a második paraméterként lehet megadni, az alapértelmezett érték 302 (vagy 303, ha az aktuális kérési mód POST):
```php
$this->redirectUrl('https://nette.org');
diff --git a/application/hu/templates.texy b/application/hu/templates.texy
index 8f9478e63b..71b205b7d1 100644
--- a/application/hu/templates.texy
+++ b/application/hu/templates.texy
@@ -42,7 +42,9 @@ A sablonok elérési útvonalát egyszerű logika szerint vezetjük le. Megprób
- `templates//.latte`
- `templates/..latte`
-Ha nem találja a sablont, a válasz [404-es hiba |presenters#Error 404 etc.].
+Ha a sablon nem található, a program megpróbál a `templates` könyvtárban keresni egy szinttel feljebb, azaz ugyanazon a szinten, mint a bemutató osztályt tartalmazó könyvtár.
+
+Ha a sablon ott sem található, a válasz [404-es hiba |presenters#Error 404 etc.].
A nézetet a `$this->setView('otherView')` segítségével is megváltoztathatja. Vagy a keresés helyett közvetlenül megadhatja a sablonfájl nevét a `$this->template->setFile('/path/to/template.latte')` segítségével.
diff --git a/application/it/ajax.texy b/application/it/ajax.texy
index 1f583a4321..61d7bcd9ca 100644
--- a/application/it/ajax.texy
+++ b/application/it/ajax.texy
@@ -10,9 +10,13 @@ Le moderne applicazioni web oggi vengono eseguite per metà su un server e per m
-Una richiesta AJAX può essere rilevata utilizzando un metodo di un servizio [che incapsula una richiesta HTTP |http:request] `$httpRequest->isAjax()` (rileva in base all'intestazione HTTP `X-Requested-With` ). Esiste anche un metodo abbreviato in presenter: `$this->isAjax()`.
-Una richiesta AJAX non è diversa da una normale richiesta: un presenter viene chiamato con una determinata vista e con dei parametri. Anche il presentatore può decidere come reagire: può usare le sue routine per restituire un frammento di codice HTML (uno snippet), un documento XML, un oggetto JSON o un pezzo di codice Javascript.
+Richiesta AJAX .[#toc-ajax-request]
+===================================
+
+Una richiesta AJAX non differisce da una richiesta classica: il presentatore viene chiamato con una vista e dei parametri specifici. Il presentatore può anche decidere come rispondere: può usare la propria routine, che restituisce un frammento di codice HTML (snippet HTML), un documento XML, un oggetto JSON o codice JavaScript.
+
+Sul lato server, una richiesta AJAX può essere rilevata utilizzando il metodo di servizio [che incapsula la richiesta HTTP |http:request] `$httpRequest->isAjax()` (rileva in base all'intestazione HTTP `X-Requested-With`). All'interno del presentatore, è disponibile una scorciatoia sotto forma del metodo `$this->isAjax()`.
Esiste un oggetto pre-elaborato chiamato `payload`, dedicato all'invio di dati al browser in JSON.
@@ -60,6 +64,21 @@ npm install naja
```
+Per creare una richiesta AJAX da un normale link (segnale) o dall'invio di un modulo, è sufficiente contrassegnare il relativo link, modulo o pulsante con la classe `ajax`:
+
+```html
+Go
+
+
+
+or
+
+```
+
Snippet .[#toc-snippets]
========================
diff --git a/application/it/bootstrap.texy b/application/it/bootstrap.texy
index c2032bcbb8..4efbe28af1 100644
--- a/application/it/bootstrap.texy
+++ b/application/it/bootstrap.texy
@@ -174,7 +174,7 @@ $configurator->addStaticParameters([
]);
```
-Nei file di configurazione, si può scrivere la solita notazione `%projectId%` per accedere al parametro chiamato `projectId`. Per impostazione predefinita, il Configuratore popola i seguenti parametri: `appDir`, `wwwDir`, `tempDir`, `vendorDir`, `debugMode` e `consoleMode`.
+Nei file di configurazione, possiamo scrivere la solita notazione `%projectId%` per accedere al parametro chiamato `projectId`.
Parametri dinamici .[#toc-dynamic-parameters]
@@ -197,6 +197,19 @@ $configurator->addDynamicParameters([
```
+Parametri predefiniti .[#toc-default-parameters]
+------------------------------------------------
+
+È possibile utilizzare i seguenti parametri statici nei file di configurazione:
+
+- `%appDir%` è il percorso assoluto della directory del file `Bootstrap.php`
+- `%wwwDir%` è il percorso assoluto della directory contenente il file di ingresso `index.php`
+- `%tempDir%` è il percorso assoluto della directory per i file temporanei
+- `%vendorDir%` è il percorso assoluto della directory in cui Composer installa le librerie
+- `%debugMode%` indica se l'applicazione è in modalità debug
+- `%consoleMode%` indica se la richiesta è arrivata attraverso la riga di comando
+
+
Servizi importati .[#toc-imported-services]
-------------------------------------------
diff --git a/application/it/presenters.texy b/application/it/presenters.texy
index 45eeba69bd..9cae206b58 100644
--- a/application/it/presenters.texy
+++ b/application/it/presenters.texy
@@ -158,7 +158,7 @@ Il metodo `forward()` passa immediatamente al nuovo presentatore senza reindiriz
$this->forward('Product:show');
```
-Esempio di reindirizzamento temporaneo con codice HTTP 302 o 303:
+Esempio di un cosiddetto reindirizzamento temporaneo con codice HTTP 302 (o 303, se il metodo di richiesta corrente è POST):
```php
$this->redirect('Product:show', $id);
@@ -170,7 +170,7 @@ Per ottenere un reindirizzamento permanente con codice HTTP 301 utilizzare:
$this->redirectPermanent('Product:show', $id);
```
-È possibile reindirizzare a un altro URL esterno all'applicazione con il metodo `redirectUrl()`:
+È possibile reindirizzare a un altro URL al di fuori dell'applicazione utilizzando il metodo `redirectUrl()`. Il codice HTTP può essere specificato come secondo parametro; il valore predefinito è 302 (o 303, se il metodo di richiesta corrente è POST):
```php
$this->redirectUrl('https://nette.org');
diff --git a/application/it/templates.texy b/application/it/templates.texy
index 9f9da1b537..bb704a88f2 100644
--- a/application/it/templates.texy
+++ b/application/it/templates.texy
@@ -42,7 +42,9 @@ Il percorso dei modelli viene dedotto secondo una semplice logica. Si cerca di v
- `templates//.latte`
- `templates/..latte`
-Se non trova il modello, la risposta è un [errore 404 |presenters#Error 404 etc.].
+Se il modello non viene trovato, si cercherà nella cartella `templates` a un livello superiore, cioè allo stesso livello della cartella con la classe del presentatore.
+
+Se il modello non viene trovato nemmeno lì, la risposta è un [errore 404 |presenters#Error 404 etc.].
Si può anche cambiare la vista usando `$this->setView('otherView')`. Oppure, invece di cercare, specificare direttamente il nome del file del template usando `$this->template->setFile('/path/to/template.latte')`.
diff --git a/application/pl/ajax.texy b/application/pl/ajax.texy
index 34eb88ff52..4b42eac748 100644
--- a/application/pl/ajax.texy
+++ b/application/pl/ajax.texy
@@ -10,9 +10,13 @@ Nowoczesne aplikacje internetowe działają dziś w połowie na serwerze, w poł
-Żądanie AJAX może być wykryte przez metodę serwisową [enkapsulującą żądanie HTTP |http:request] `$httpRequest->isAjax()` (wykryte przez nagłówek HTTP `X-Requested-With`). Wewnątrz prezentera jest zapewniony "skrót" w postaci metody `$this->isAjax()`.
-Żądanie AJAX nie różni się od tradycyjnego żądania - prezenter jest wywoływany z określonym widokiem i parametrami. To również zależy od prezentera, jak odpowiada: może użyć niestandardowej procedury, która zwraca fragment HTML, dokument XML, obiekt JSON lub kod JavaScript.
+Żądanie AJAX .[#toc-ajax-request]
+=================================
+
+Żądanie AJAX nie różni się od klasycznego żądania - prezenter jest wywoływany z określonym widokiem i parametrami. Również od prezentera zależy, jak na nie odpowie: może użyć własnej procedury, która zwraca fragment kodu HTML (HTML snippet), dokument XML, obiekt JSON lub kod JavaScript.
+
+Po stronie serwera żądanie AJAX może zostać wykryte za pomocą metody serwisowej [obudowującej żądanie HTTP |http:request] `$httpRequest->isAjax()` (wykrywa na podstawie nagłówka HTTP `X-Requested-With`). Wewnątrz prezentera dostępny jest skrót w postaci metody `$this->isAjax()`.
Aby wysłać dane do przeglądarki w formacie JSON, możesz użyć gotowego obiektu `payload`:
@@ -60,6 +64,21 @@ npm install naja
```
+Aby utworzyć żądanie AJAX ze zwykłego linku (sygnału) lub submitu formularza, wystarczy oznaczyć odpowiedni link, formularz lub przycisk klasą `ajax`:
+
+```html
+Go
+
+
+
+or
+
+```
+
Snippets
========
diff --git a/application/pl/bootstrap.texy b/application/pl/bootstrap.texy
index 1a1ef76bbc..3fb6475d75 100644
--- a/application/pl/bootstrap.texy
+++ b/application/pl/bootstrap.texy
@@ -174,7 +174,7 @@ $configurator->addStaticParameters([
]);
```
-Do parametru `projectId` można się odwołać w konfiguracji za pomocą zwykłej notacji `%projectId%`. Klasa Configurator automatycznie dodaje parametry `appDir`, `wwwDir`, `tempDir`, `vendorDir`, `debugMode` oraz `consoleMode`.
+W plikach konfiguracyjnych możemy zapisać zwykłą notację `%projectId%` aby uzyskać dostęp do parametru o nazwie `projectId`.
Parametry dynamiczne .[#toc-dynamic-parameters]
@@ -197,6 +197,19 @@ $configurator->addDynamicParameters([
```
+Parametry domyślne .[#toc-default-parameters]
+---------------------------------------------
+
+W plikach konfiguracyjnych można używać następujących parametrów statycznych:
+
+- `%appDir%` jest bezwzględną ścieżką do katalogu zawierającego plik `Bootstrap.php`
+- `%wwwDir%` jest bezwzględną ścieżką do katalogu zawierającego plik wejściowy `index.php`
+- `%tempDir%` jest bezwzględną ścieżką do katalogu plików tymczasowych
+- `%vendorDir%` to bezwzględna ścieżka do katalogu, w którym Composer instaluje biblioteki
+- `%debugMode%` wskazuje, czy aplikacja jest w trybie debugowania
+- `%consoleMode%` wskazuje, czy żądanie przyszło z linii poleceń
+
+
Usługi importowane .[#toc-imported-services]
--------------------------------------------
diff --git a/application/pl/presenters.texy b/application/pl/presenters.texy
index 8b267a5275..8abef24187 100644
--- a/application/pl/presenters.texy
+++ b/application/pl/presenters.texy
@@ -158,7 +158,7 @@ Metoda `forward()` przechodzi natychmiast do nowego prezentera bez przekierowani
$this->forward('Product:show');
```
-Przykład tymczasowego przekierowania z kodem HTTP 302 lub 303:
+Przykład tzw. tymczasowego przekierowania z kodem HTTP 302 (lub 303, jeśli aktualną metodą żądania jest POST):
```php
$this->redirect('Product:show', $id);
@@ -170,7 +170,7 @@ Aby uzyskać trwałe przekierowanie z kodem HTTP 301, wykonaj następujące czyn
$this->redirectPermanent('Product:show', $id);
```
-Możesz przekierować do innego adresu URL poza aplikacją za pomocą metody `redirectUrl()`:
+Możesz przekierować na inny adres URL poza aplikacją, używając metody `redirectUrl()`. Kod HTTP może być określony jako drugi parametr, przy czym domyślnie jest to 302 (lub 303, jeśli bieżącą metodą żądania jest POST):
```php
$this->redirectUrl('https://nette.org');
diff --git a/application/pl/templates.texy b/application/pl/templates.texy
index 9a9d31a92e..a7dd044914 100644
--- a/application/pl/templates.texy
+++ b/application/pl/templates.texy
@@ -42,7 +42,9 @@ Wyszukiwanie szablonów .[#toc-search-for-templates]
- `templates//.latte`
- `templates/..latte`
-Jeśli szablon nie zostanie znaleziony, odpowiedzią jest [błąd 404 |presenters#Error-404-etc].
+Jeśli szablon nie zostanie znaleziony, spróbuje poszukać w katalogu `templates` o jeden poziom wyżej, czyli na tym samym poziomie co katalog z klasą prezentera.
+
+Jeśli tam również nie zostanie znaleziony szablon, odpowiedzią będzie [błąd 404 |presenters#Error 404 etc.].
Widok można również zmienić za pomocą strony `$this->setView('jineView')`. Lub, zamiast szukać bezpośrednio, określ nazwę pliku szablonu za pomocą `$this->template->setFile('/path/to/template.latte')`.
diff --git a/application/pt/ajax.texy b/application/pt/ajax.texy
index b4cb976fc9..2ef450e4d6 100644
--- a/application/pt/ajax.texy
+++ b/application/pt/ajax.texy
@@ -10,9 +10,13 @@ As aplicações web modernas atualmente rodam metade em um servidor e metade em
-Uma solicitação AJAX pode ser detectada usando um método de um serviço [que encapsula uma solicitação HTTP |http:request] `$httpRequest->isAjax()` (detecta com base no cabeçalho HTTP `X-Requested-With` ). Há também um método abreviado no apresentador: `$this->isAjax()`.
-Um pedido AJAX não é diferente de um pedido normal - um apresentador é chamado com uma certa visão e parâmetros. Também depende do apresentador como ele irá reagir: ele pode usar suas rotinas para retornar um fragmento de código HTML (um snippet), um documento XML, um objeto JSON ou um pedaço de código Javascript.
+Solicitação AJAX .[#toc-ajax-request]
+=====================================
+
+Uma solicitação AJAX não difere de uma solicitação clássica - o apresentador é chamado com uma visão e parâmetros específicos. Cabe também ao apresentador como responder a ela: ele pode usar sua própria rotina, que retorna um fragmento de código HTML (HTML snippet), um documento XML, um objeto JSON ou código JavaScript.
+
+No lado do servidor, uma solicitação AJAX pode ser detectada usando o método de serviço [que encapsula a solicitação HTTP |http:request] `$httpRequest->isAjax()` (detecta com base no cabeçalho HTTP `X-Requested-With`). Dentro do apresentador, um atalho está disponível na forma do método `$this->isAjax()`.
Há um objeto pré-processado chamado `payload` dedicado ao envio de dados para o navegador no JSON.
@@ -60,6 +64,21 @@ npm install naja
```
+Para criar uma solicitação AJAX a partir de um link regular (sinal) ou envio de formulário, basta marcar o link, formulário ou botão relevante com a classe `ajax`:
+
+```html
+Go
+
+
+
+or
+
+```
+
Snippets .[#toc-snippets]
=========================
diff --git a/application/pt/bootstrap.texy b/application/pt/bootstrap.texy
index 2fe2d46f10..1ebef20eff 100644
--- a/application/pt/bootstrap.texy
+++ b/application/pt/bootstrap.texy
@@ -174,7 +174,7 @@ $configurator->addStaticParameters([
]);
```
-Nos arquivos de configuração, podemos escrever a notação usual `%projectId%` para acessar o parâmetro `projectId`. Por padrão, o Configurador preenche os seguintes parâmetros: `appDir`, `wwwDir`, `tempDir`, `vendorDir`, `debugMode` e `consoleMode`.
+Nos arquivos de configuração, podemos escrever a notação usual `%projectId%` para acessar o parâmetro `projectId`.
Parâmetros dinâmicos .[#toc-dynamic-parameters]
@@ -197,6 +197,19 @@ $configurator->addDynamicParameters([
```
+Parâmetros padrão .[#toc-default-parameters]
+--------------------------------------------
+
+Você pode usar os seguintes parâmetros estáticos nos arquivos de configuração:
+
+- `%appDir%` é o caminho absoluto para o diretório do arquivo `Bootstrap.php`
+- `%wwwDir%` é o caminho absoluto para o diretório que contém o arquivo de entrada `index.php`
+- `%tempDir%` é o caminho absoluto para o diretório de arquivos temporários
+- `%vendorDir%` é o caminho absoluto para o diretório onde o Composer instala as bibliotecas
+- `%debugMode%` indica se a aplicação está em modo de depuração
+- `%consoleMode%` indica se o pedido veio através da linha de comando
+
+
Serviços Importados .[#toc-imported-services]
---------------------------------------------
diff --git a/application/pt/presenters.texy b/application/pt/presenters.texy
index 2cdb940d94..d8fb8a9e30 100644
--- a/application/pt/presenters.texy
+++ b/application/pt/presenters.texy
@@ -158,7 +158,7 @@ O `forward()` muda imediatamente para o novo apresentador sem redirecionamento H
$this->forward('Product:show');
```
-Exemplo de redirecionamento temporário com o código HTTP 302 ou 303:
+Exemplo de um chamado redirecionamento temporário com o código HTTP 302 (ou 303, se o método de solicitação atual for POST):
```php
$this->redirect('Product:show', $id);
@@ -170,7 +170,7 @@ Para obter um redirecionamento permanente com o uso do código HTTP 301:
$this->redirectPermanent('Product:show', $id);
```
-Você pode redirecionar para outra URL fora da aplicação com o método `redirectUrl()`:
+Você pode redirecionar para outra URL fora da aplicação usando o método `redirectUrl()`. O código HTTP pode ser especificado como o segundo parâmetro, sendo o padrão 302 (ou 303, se o método de solicitação atual for POST):
```php
$this->redirectUrl('https://nette.org');
diff --git a/application/pt/templates.texy b/application/pt/templates.texy
index bf8e08a5ef..059e35178e 100644
--- a/application/pt/templates.texy
+++ b/application/pt/templates.texy
@@ -42,7 +42,9 @@ O caminho para os modelos é deduzido de acordo com uma lógica simples. Ele ten
- `templates//.latte`
- `templates/..latte`
-Se não encontrar o modelo, a resposta é [erro 404 |presenters#Error 404 etc.].
+Se o modelo não for encontrado, ele tentará procurar no diretório `templates` um nível acima, ou seja, no mesmo nível que o diretório com a classe apresentadora.
+
+Se o modelo também não for encontrado lá, a resposta é um [erro 404 |presenters#Error 404 etc.].
Você também pode mudar a visão usando `$this->setView('otherView')`. Ou, em vez de procurar, especifique diretamente o nome do arquivo modelo usando `$this->template->setFile('/path/to/template.latte')`.
diff --git a/application/ro/ajax.texy b/application/ro/ajax.texy
index 78691c1798..145ab87fdd 100644
--- a/application/ro/ajax.texy
+++ b/application/ro/ajax.texy
@@ -10,9 +10,13 @@ AJAX & Snippets
-O cerere AJAX poate fi detectată prin intermediul unei metode a unui serviciu care [încapsulează o cerere HTTP |http:request] `$httpRequest->isAjax()` (detectează pe baza antetului HTTP `X-Requested-With` ). Există, de asemenea, o metodă prescurtată în presenter: `$this->isAjax()`.
-O solicitare AJAX nu diferă cu nimic de una normală - un prezentator este apelat cu o anumită vizualizare și parametri. Depinde, de asemenea, de prezentator cum va reacționa: acesta își poate folosi rutinele pentru a returna fie un fragment de cod HTML (un snippet), fie un document XML, un obiect JSON sau o bucată de cod Javascript.
+Cerere AJAX .[#toc-ajax-request]
+================================
+
+O cerere AJAX nu diferă de o cerere clasică - prezentatorul este apelat cu o vizualizare și parametri specifici. De asemenea, este la latitudinea prezentatorului cum să răspundă la aceasta: poate utiliza propria rutină, care returnează un fragment de cod HTML (fragment HTML), un document XML, un obiect JSON sau cod JavaScript.
+
+Pe partea serverului, o cerere AJAX poate fi detectată cu ajutorul metodei de serviciu care [încapsulează cererea HTTP |http:request] `$httpRequest->isAjax()` (detectează pe baza antetului HTTP `X-Requested-With`). În interiorul prezentatorului, este disponibilă o scurtătură sub forma metodei `$this->isAjax()`.
Există un obiect preprocesat numit `payload` dedicat trimiterii de date către browser în JSON.
@@ -60,6 +64,21 @@ npm install naja
```
+Pentru a crea o solicitare AJAX dintr-un link obișnuit (semnal) sau un formular de trimitere, trebuie doar să marcați link-ul, formularul sau butonul respectiv cu clasa `ajax`:
+
+```html
+Go
+
+
+
+or
+
+```
+
Snippets .[#toc-snippets]
=========================
diff --git a/application/ro/bootstrap.texy b/application/ro/bootstrap.texy
index 585b6eed26..def23eed0e 100644
--- a/application/ro/bootstrap.texy
+++ b/application/ro/bootstrap.texy
@@ -174,7 +174,7 @@ $configurator->addStaticParameters([
]);
```
-În fișierele de configurare, putem scrie notația obișnuită `%projectId%` pentru a accesa parametrul numit `projectId`. În mod implicit, configuratorul completează următorii parametri: `appDir`, `wwwDir`, `tempDir`, , `vendorDir`, `debugMode` și `consoleMode`.
+În fișierele de configurare, putem scrie notația obișnuită `%projectId%` pentru a accesa parametrul numit `projectId`.
Parametrii dinamici .[#toc-dynamic-parameters]
@@ -197,6 +197,19 @@ $configurator->addDynamicParameters([
```
+Parametrii impliciți .[#toc-default-parameters]
+-----------------------------------------------
+
+Puteți utiliza următorii parametri statici în fișierele de configurare:
+
+- `%appDir%` este calea absolută către directorul fișierului `Bootstrap.php`
+- `%wwwDir%` este calea absolută către directorul care conține fișierul de intrare `index.php`
+- `%tempDir%` este calea absolută către directorul pentru fișierele temporare
+- `%vendorDir%` este calea absolută către directorul în care Composer instalează bibliotecile
+- `%debugMode%` indică dacă aplicația se află în modul de depanare
+- `%consoleMode%` indică dacă cererea a venit prin linia de comandă
+
+
Servicii importate .[#toc-imported-services]
--------------------------------------------
diff --git a/application/ro/presenters.texy b/application/ro/presenters.texy
index fbd0d37113..98dfebc458 100644
--- a/application/ro/presenters.texy
+++ b/application/ro/presenters.texy
@@ -158,7 +158,7 @@ Metoda `forward()` trece imediat la noul prezentator, fără redirecționare HTT
$this->forward('Product:show');
```
-Exemplu de redirecționare temporară cu codul HTTP 302 sau 303:
+Exemplu de așa-numită redirecționare temporară cu codul HTTP 302 (sau 303, dacă metoda de solicitare curentă este POST):
```php
$this->redirect('Product:show', $id);
@@ -170,7 +170,7 @@ Pentru a obține o redirecționare permanentă cu codul HTTP 301, utilizați:
$this->redirectPermanent('Product:show', $id);
```
-Puteți redirecționa către un alt URL din afara aplicației cu metoda `redirectUrl()`:
+Puteți redirecționa către o altă adresă URL din afara aplicației utilizând metoda `redirectUrl()`. Codul HTTP poate fi specificat ca al doilea parametru, valoarea implicită fiind 302 (sau 303, dacă metoda de solicitare curentă este POST):
```php
$this->redirectUrl('https://nette.org');
diff --git a/application/ro/templates.texy b/application/ro/templates.texy
index 4e058192af..abcead647e 100644
--- a/application/ro/templates.texy
+++ b/application/ro/templates.texy
@@ -42,7 +42,9 @@ Calea către șabloane este dedusă conform unei logici simple. Se încearcă s
- `templates//.latte`
- `templates/..latte`
-În cazul în care nu găsește șablonul, răspunsul este [eroarea 404 |presenters#Error 404 etc.].
+Dacă șablonul nu este găsit, se va încerca căutarea în directorul `templates` cu un nivel mai sus, adică la același nivel cu directorul cu clasa de prezentator.
+
+Dacă șablonul nu este găsit nici acolo, răspunsul este o [eroare 404 |presenters#Error 404 etc.].
De asemenea, puteți schimba vizualizarea folosind `$this->setView('otherView')`. Sau, în loc să căutați, specificați direct numele fișierului șablon folosind `$this->template->setFile('/path/to/template.latte')`.
diff --git a/application/ru/ajax.texy b/application/ru/ajax.texy
index 05cb303614..6009fc864c 100644
--- a/application/ru/ajax.texy
+++ b/application/ru/ajax.texy
@@ -10,9 +10,13 @@ AJAX и сниппеты
-AJAX-запрос может быть обнаружен с помощью метода сервиса [инкапсуляция HTTP-запроса |http:request] `$httpRequest->isAjax()` (определяет на основе HTTP-заголовка `X-Requested-With`). Существует также сокращенный метод в презентере: `$this->isAjax()`.
-AJAX-запрос ничем не отличается от обычного — вызывается презентер с определенным представлением и параметрами. От презентера также зависит, как он отреагирует: он может использовать свои процедуры для возврата фрагмента HTML-кода (сниппета), XML-документа, объекта JSON или фрагмента кода Javascript.
+Запрос AJAX .[#toc-ajax-request]
+================================
+
+AJAX-запрос не отличается от классического запроса - к ведущему обращаются с определенным представлением и параметрами. Ведущий также решает, как ответить на него: он может использовать свою собственную процедуру, которая возвращает фрагмент HTML-кода (HTML snippet), XML-документ, JSON-объект или JavaScript-код.
+
+На стороне сервера AJAX-запрос может быть обнаружен с помощью сервисного метода, [инкапсулирующего HTTP-запрос |http:request] `$httpRequest->isAjax()` (определяет на основе HTTP-заголовка `X-Requested-With`). Внутри презентатора доступен ярлык в виде метода `$this->isAjax()`.
Существует предварительно обработанный объект `payload`, предназначенный для отправки данных в браузер в формате JSON.
@@ -60,6 +64,21 @@ npm install naja
```
+Чтобы создать AJAX-запрос из обычной ссылки (сигнала) или отправки формы, просто пометьте соответствующую ссылку, форму или кнопку классом `ajax`:
+
+```html
+Go
+
+
+
+or
+
+```
+
Сниппеты
========
diff --git a/application/ru/bootstrap.texy b/application/ru/bootstrap.texy
index fb4b949974..071d2c9fc5 100644
--- a/application/ru/bootstrap.texy
+++ b/application/ru/bootstrap.texy
@@ -174,7 +174,7 @@ $configurator->addStaticParameters([
]);
```
-В конфигурационных файлах можно использовать обычную нотацию `%projectId%` для доступа к параметру с именем `projectId`. По умолчанию конфигуратор заполняет следующие параметры: `appDir`, `wwwDir`, `tempDir`, `vendorDir`, `debugMode` и `consoleMode`.
+В конфигурационных файлах мы можем написать обычную нотацию `%projectId%` для доступа к параметру с именем `projectId`.
Динамические параметры .[#toc-dynamic-parameters]
@@ -197,6 +197,19 @@ $configurator->addDynamicParameters([
```
+Параметры по умолчанию .[#toc-default-parameters]
+-------------------------------------------------
+
+Вы можете использовать следующие статические параметры в конфигурационных файлах:
+
+- `%appDir%` - абсолютный путь к директории, содержащей файл `Bootstrap.php`.
+- `%wwwDir%` - абсолютный путь к директории, содержащей входной файл `index.php`
+- `%tempDir%` - абсолютный путь к директории для временных файлов.
+- `%vendorDir%` - абсолютный путь к директории, в которую Composer устанавливает библиотеки.
+- `%debugMode%` указывает, находится ли приложение в режиме отладки
+- `%consoleMode%` указывает, поступил ли запрос через командную строку
+
+
Импортированные сервисы .[#toc-imported-services]
-------------------------------------------------
diff --git a/application/ru/presenters.texy b/application/ru/presenters.texy
index e37177bad4..3363ced5d1 100644
--- a/application/ru/presenters.texy
+++ b/application/ru/presenters.texy
@@ -158,7 +158,7 @@ $url = $this->link('Product:show', [$id, 'lang' => 'en']);
$this->forward('Product:show');
```
-Пример временного перенаправления с HTTP-кодом 302 или 303:
+Пример так называемого временного перенаправления с HTTP-кодом 302 (или 303, если текущий метод запроса - POST):
```php
$this->redirect('Product:show', $id);
@@ -170,7 +170,7 @@ $this->redirect('Product:show', $id);
$this->redirectPermanent('Product:show', $id);
```
-Вы можете перенаправить на другой URL вне приложения с помощью метода `redirectUrl()`:
+Вы можете перенаправить на другой URL вне приложения, используя метод `redirectUrl()`. HTTP-код может быть указан в качестве второго параметра, по умолчанию это 302 (или 303, если текущий метод запроса - POST):
```php
$this->redirectUrl('https://nette.org');
diff --git a/application/ru/templates.texy b/application/ru/templates.texy
index 25333ec9a1..75f2c784d0 100644
--- a/application/ru/templates.texy
+++ b/application/ru/templates.texy
@@ -42,7 +42,9 @@ Nette использует систему шаблонов [Latte |latte:]. Latt
- `templates//.latte`
- `templates/..latte`
-Если шаблон не найден, ответом будет [ошибка 404 |presenters#error-404-etc].
+Если шаблон не найден, он попытается выполнить поиск в каталоге `templates` на один уровень выше, т.е. на том же уровне, что и каталог с классом ведущего.
+
+Если шаблон не найден и там, ответом будет [ошибка 404 |presenters#Error 404 etc.].
Вы также можете изменить вид с помощью `$this->setView('jineView')`. Или, вместо прямого поиска, укажите имя файла шаблона с помощью `$this->template->setFile('/path/to/template.latte')`.
diff --git a/application/sl/ajax.texy b/application/sl/ajax.texy
index a30819a9a5..1d982a2057 100644
--- a/application/sl/ajax.texy
+++ b/application/sl/ajax.texy
@@ -10,9 +10,13 @@ Sodobne spletne aplikacije danes tečejo pol na strežniku in pol v brskalniku.
-Zahtevo AJAX je mogoče zaznati z metodo storitve, ki [enkapsulira zahtevo HTTP |http:request] `$httpRequest->isAjax()` (zaznava na podlagi glave `X-Requested-With` HTTP). Obstaja tudi skrajšana metoda v programu presenter: `$this->isAjax()`.
-Zahteva AJAX se v ničemer ne razlikuje od običajne zahteve - presenter se pokliče z določenim pogledom in parametri. Tudi od predstavnika je odvisno, kako se bo odzval: s svojimi rutinami lahko vrne fragment kode HTML (snippet), dokument XML, objekt JSON ali del kode Javascript.
+Zahteva AJAX .[#toc-ajax-request]
+=================================
+
+Zahteva AJAX se ne razlikuje od klasične zahteve - predvajalnik se pokliče z določenim pogledom in parametri. Prav tako je od predstavnika odvisno, kako se bo nanjo odzval: uporabi lahko svojo rutino, ki vrne fragment kode HTML (fragment HTML), dokument XML, objekt JSON ali kodo JavaScript.
+
+Na strani strežnika je mogoče zahtevo AJAX zaznati s storitveno metodo, ki [enkapsulira zahtevo HTTP |http:request] `$httpRequest->isAjax()` (zazna na podlagi glave HTTP `X-Requested-With`). Znotraj predstavnika je na voljo bližnjica v obliki metode `$this->isAjax()`.
Na voljo je vnaprej obdelan objekt, imenovan `payload`, namenjen pošiljanju podatkov brskalniku v obliki JSON.
@@ -60,6 +64,21 @@ npm install naja
```
+Če želite ustvariti zahtevo AJAX iz običajne povezave (signala) ali oddaje obrazca, preprosto označite ustrezno povezavo, obrazec ali gumb z razredom `ajax`:
+
+```html
+Go
+
+
+
+or
+
+```
+
. .[#toc-snippets]
==================
diff --git a/application/sl/bootstrap.texy b/application/sl/bootstrap.texy
index ba8eb0b587..bc60e3cfe8 100644
--- a/application/sl/bootstrap.texy
+++ b/application/sl/bootstrap.texy
@@ -174,7 +174,7 @@ $configurator->addStaticParameters([
]);
```
-V konfiguracijskih datotekah lahko zapišemo običajni zapis `%projectId%` za dostop do parametra z imenom `projectId`. Privzeto konfigurator izpolni naslednje parametre: `appDir`, `wwwDir`, `tempDir`, `vendorDir`, `debugMode` in `consoleMode`.
+V konfiguracijskih datotekah lahko zapišemo običajni zapis `%projectId%` za dostop do parametra z imenom `projectId`.
Dinamični parametri .[#toc-dynamic-parameters]
@@ -197,6 +197,19 @@ $configurator->addDynamicParameters([
```
+Privzete parametre .[#toc-default-parameters]
+---------------------------------------------
+
+V konfiguracijskih datotekah lahko uporabite naslednje statične parametre:
+
+- `%appDir%` je absolutna pot do imenika datoteke `Bootstrap.php`.
+- `%wwwDir%` je absolutna pot do imenika, ki vsebuje vstopno datoteko `index.php`
+- `%tempDir%` je absolutna pot do imenika za začasne datoteke
+- `%vendorDir%` je absolutna pot do imenika, v katerega Composer namesti knjižnice
+- `%debugMode%` označuje, ali je aplikacija v načinu odpravljanja napak
+- `%consoleMode%` označuje, ali je bila zahteva poslana prek ukazne vrstice
+
+
Uvožene storitve .[#toc-imported-services]
------------------------------------------
diff --git a/application/sl/presenters.texy b/application/sl/presenters.texy
index 5109f2558d..1745ff06db 100644
--- a/application/sl/presenters.texy
+++ b/application/sl/presenters.texy
@@ -158,7 +158,7 @@ Metoda `forward()` takoj preklopi na novi predstavnik brez preusmeritve HTTP:
$this->forward('Product:show');
```
-Primer začasne preusmeritve s kodo HTTP 302 ali 303:
+Primer tako imenovane začasne preusmeritve s kodo HTTP 302 (ali 303, če je trenutni način zahteve POST):
```php
$this->redirect('Product:show', $id);
@@ -170,7 +170,7 @@ Za trajno preusmeritev s kodo HTTP 301 uporabite:
$this->redirectPermanent('Product:show', $id);
```
-Z metodo `redirectUrl()` lahko preusmerite na drug URL zunaj aplikacije:
+Z metodo `redirectUrl()` lahko preusmerite na drug naslov URL zunaj aplikacije. Kodo HTTP lahko določite kot drugi parameter, pri čemer je privzeta vrednost 302 (ali 303, če je trenutna metoda zahteve POST):
```php
$this->redirectUrl('https://nette.org');
diff --git a/application/sl/templates.texy b/application/sl/templates.texy
index 2c34a4a33b..66005783a9 100644
--- a/application/sl/templates.texy
+++ b/application/sl/templates.texy
@@ -42,7 +42,9 @@ Pot do predlog se določi po preprosti logiki. Poskusi preveriti, ali obstaja en
- `templates//.latte`
- `templates/..latte`
-Če predloge ne najde, je odgovor [napaka 404 |presenters#Error 404 etc.].
+Če predloge ne najde, jo poskuša poiskati v imeniku `templates` eno raven višje, tj. na isti ravni kot imenik z razredom predstavnika.
+
+Če predloge ne najde niti tam, se kot odgovor prikaže [napaka 404 |presenters#Error 404 etc.].
Pogled lahko spremenite tudi z uporabo `$this->setView('otherView')`. Lahko pa namesto iskanja neposredno določite ime datoteke s predlogo z uporabo `$this->template->setFile('/path/to/template.latte')`.
diff --git a/application/tr/ajax.texy b/application/tr/ajax.texy
index e40b00fd9a..2502de3b69 100644
--- a/application/tr/ajax.texy
+++ b/application/tr/ajax.texy
@@ -10,9 +10,13 @@ Günümüzde modern web uygulamalarının yarısı sunucuda, yarısı da tarayı
-Bir AJAX isteği, `$httpRequest->isAjax()` [HTTP isteğini kapsülleyen |http:request] bir hizmet yöntemi kullanılarak algılanabilir ( `X-Requested-With` HTTP başlığına göre algılar). Ayrıca presenter'da steno bir yöntem de vardır: `$this->isAjax()`.
-Bir AJAX isteği normal bir istekten farklı değildir - bir sunucu belirli bir görünüm ve parametrelerle çağrılır. Nasıl tepki vereceği de sunucuya bağlıdır: rutinlerini bir HTML kodu parçası (snippet), bir XML belgesi, bir JSON nesnesi veya bir Javascript kodu parçası döndürmek için kullanabilir.
+AJAX İsteği .[#toc-ajax-request]
+================================
+
+Bir AJAX isteği klasik bir istekten farklı değildir - sunum yapan kişi belirli bir görünüm ve parametrelerle çağrılır. Buna nasıl yanıt verileceği de sunucuya bağlıdır: bir HTML kod parçası (HTML snippet), bir XML belgesi, bir JSON nesnesi veya JavaScript kodu döndüren kendi rutinini kullanabilir.
+
+Sunucu tarafında, bir AJAX isteği `$httpRequest->isAjax()` [HTTP isteğini kapsülleyen |http:request] hizmet yöntemi kullanılarak algılanabilir ( `X-Requested-With` HTTP başlığına dayalı olarak algılar). Sunucunun içinde, `$this->isAjax()` yöntemi şeklinde bir kısayol mevcuttur.
JSON'da tarayıcıya veri göndermeye adanmış `payload` adında önceden işlenmiş bir nesne vardır.
@@ -60,6 +64,21 @@ npm install naja
```
+Normal bir bağlantıdan (sinyal) veya form gönderiminden bir AJAX isteği oluşturmak için ilgili bağlantıyı, formu veya düğmeyi `ajax` sınıfıyla işaretlemeniz yeterlidir:
+
+```html
+Go
+
+
+
+or
+
+```
+
Parçacıklar .[#toc-snippets]
============================
diff --git a/application/tr/bootstrap.texy b/application/tr/bootstrap.texy
index c2829b9f89..403f4ee3f7 100644
--- a/application/tr/bootstrap.texy
+++ b/application/tr/bootstrap.texy
@@ -174,7 +174,7 @@ $configurator->addStaticParameters([
]);
```
-Yapılandırma dosyalarında, `projectId` adlı parametreye erişmek için `%projectId%` normal gösterimini yazabiliriz. Yapılandırıcı varsayılan olarak aşağıdaki parametreleri doldurur: `appDir`, `wwwDir`, `tempDir`, `vendorDir`, `debugMode` ve `consoleMode`.
+Yapılandırma dosyalarında, `projectId` adlı parametreye erişmek için `%projectId%` normal notasyonunu yazabiliriz.
Dinamik Parametreler .[#toc-dynamic-parameters]
@@ -197,6 +197,19 @@ $configurator->addDynamicParameters([
```
+Varsayılan Parametreler .[#toc-default-parameters]
+--------------------------------------------------
+
+Yapılandırma dosyalarında aşağıdaki statik parametreleri kullanabilirsiniz:
+
+- `%appDir%`, `Bootstrap.php` dosyasının dizinine giden mutlak yoldur
+- `%wwwDir%`, `index.php` giriş dosyasını içeren dizinin mutlak yoludur
+- `%tempDir%` geçici dosyalar için dizinin mutlak yoludur
+- `%vendorDir%` Composer'ın kütüphaneleri yüklediği dizinin mutlak yoludur
+- `%debugMode%` uygulamanın hata ayıklama modunda olup olmadığını gösterir
+- `%consoleMode%` isteğin komut satırı üzerinden gelip gelmediğini gösterir
+
+
İthal Hizmetler .[#toc-imported-services]
-----------------------------------------
diff --git a/application/tr/presenters.texy b/application/tr/presenters.texy
index d55d54ed3d..74e9bd24c8 100644
--- a/application/tr/presenters.texy
+++ b/application/tr/presenters.texy
@@ -158,7 +158,7 @@ Yeniden Yönlendirme .[#toc-redirection]
$this->forward('Product:show');
```
-HTTP kodu 302 veya 303 ile geçici yeniden yönlendirme örneği:
+HTTP kodu 302 (veya geçerli istek yöntemi POST ise 303) ile sözde geçici yeniden yönlendirme örneği:
```php
$this->redirect('Product:show', $id);
@@ -170,7 +170,7 @@ HTTP kodu 301 ile kalıcı yeniden yönlendirme elde etmek için kullanın:
$this->redirectPermanent('Product:show', $id);
```
-`redirectUrl()` yöntemi ile uygulama dışında başka bir URL'ye yönlendirme yapabilirsiniz:
+`redirectUrl()` yöntemini kullanarak uygulama dışında başka bir URL'ye yönlendirme yapabilirsiniz. HTTP kodu ikinci parametre olarak belirtilebilir; varsayılan değer 302'dir (veya geçerli istek yöntemi POST ise 303'tür):
```php
$this->redirectUrl('https://nette.org');
diff --git a/application/tr/templates.texy b/application/tr/templates.texy
index 42aadf4b20..d817bc2d45 100644
--- a/application/tr/templates.texy
+++ b/application/tr/templates.texy
@@ -42,7 +42,9 @@ Düzende `{include content}` yerine eklenen `content` bloğunu tanımlar ve ayr
- `templates//.latte`
- `templates/..latte`
-Şablonu bulamazsa, yanıt [404 hatası |presenters#Error 404 etc.] olur.
+Şablon bulunamazsa, `templates` dizininde bir seviye yukarıda, yani sunum yapan sınıfın bulunduğu dizinle aynı seviyede arama yapmaya çalışacaktır.
+
+Şablon orada da bulunamazsa, yanıt [404 hatası |presenters#Error 404 etc.] olur.
Ayrıca `$this->setView('otherView')` adresini kullanarak görünümü değiştirebilirsiniz. Ya da arama yapmak yerine `$this->template->setFile('/path/to/template.latte')` adresini kullanarak şablon dosyasının adını doğrudan belirtin.
diff --git a/application/uk/ajax.texy b/application/uk/ajax.texy
index a0f7c17300..657629160c 100644
--- a/application/uk/ajax.texy
+++ b/application/uk/ajax.texy
@@ -10,9 +10,13 @@ AJAX і сніпети
-AJAX-запит може бути виявлений за допомогою методу сервісу [інкапсуляція HTTP-запиту |http:request] `$httpRequest->isAjax()` (визначає на основі HTTP-заголовка `X-Requested-With`). Існує також скорочений метод у презентері: `$this->isAjax()`.
-AJAX-запит нічим не відрізняється від звичайного - викликається презентер з певним поданням і параметрами. Від презентера також залежить, як він відреагує: він може використати свої процедури для повернення фрагмента HTML-коду (сніпету), XML-документа, об'єкта JSON або фрагмента коду Javascript.
+AJAX запит .[#toc-ajax-request]
+===============================
+
+AJAX-запит нічим не відрізняється від класичного запиту - викликається доповідач з певним представленням і параметрами. Як на нього відповісти, також залежить від доповідача: він може використовувати власну процедуру, яка повертає фрагмент HTML-коду (HTML-сніппет), XML-документ, JSON-об'єкт або JavaScript-код.
+
+На стороні сервера AJAX-запит можна виявити за допомогою сервісного методу, що [інкапсулює HTTP-запит |http:request] `$httpRequest->isAjax()` (виявляє на основі HTTP-заголовка `X-Requested-With`). Усередині доповідача доступний ярлик у вигляді методу `$this->isAjax()`.
Існує попередньо оброблений об'єкт `payload`, призначений для надсилання даних у браузер у форматі JSON.
@@ -60,6 +64,21 @@ npm install naja
```
+Щоб створити AJAX-запит зі звичайного посилання (сигналу) або форми, просто позначте відповідне посилання, форму або кнопку класом `ajax`:
+
+```html
+Go
+
+
+
+or
+
+```
+
Сніпети .[#toc-snippety]
========================
diff --git a/application/uk/bootstrap.texy b/application/uk/bootstrap.texy
index f4872269e9..f71b35252b 100644
--- a/application/uk/bootstrap.texy
+++ b/application/uk/bootstrap.texy
@@ -174,7 +174,7 @@ $configurator->addStaticParameters([
]);
```
-У конфігураційних файлах можна використовувати звичайну нотацію `%projectId%` для доступу до параметра з ім'ям `projectId`. За замовчуванням конфігуратор заповнює такі параметри: `appDir`, `wwwDir`, `tempDir`, `vendorDir`, `debugMode` і `consoleMode`.
+У конфігураційних файлах ми можемо записати звичайну нотацію `%projectId%` для доступу до параметра з ім'ям `projectId`.
Динамічні параметри .[#toc-dynamic-parameters]
@@ -197,6 +197,19 @@ $configurator->addDynamicParameters([
```
+Параметри за замовчуванням .[#toc-default-parameters]
+-----------------------------------------------------
+
+Ви можете використовувати наступні статичні параметри у файлах конфігурації:
+
+- `%appDir%` - абсолютний шлях до каталогу з файлом `Bootstrap.php`
+- `%wwwDir%` - абсолютний шлях до каталогу, в якому знаходиться файл запису `index.php`
+- `%tempDir%` - абсолютний шлях до каталогу для тимчасових файлів
+- `%vendorDir%` - абсолютний шлях до каталогу, куди Composer встановлює бібліотеки
+- `%debugMode%` вказує на те, чи перебуває програма у режимі налагодження
+- `%consoleMode%` вказує на те, що запит надійшов через командний рядок
+
+
Імпортовані сервіси .[#toc-imported-services]
---------------------------------------------
diff --git a/application/uk/presenters.texy b/application/uk/presenters.texy
index 691cef7585..4ff391e760 100644
--- a/application/uk/presenters.texy
+++ b/application/uk/presenters.texy
@@ -158,7 +158,7 @@ $url = $this->link('Product:show', [$id, 'lang' => 'en']);
$this->forward('Product:show');
```
-Приклад тимчасового перенаправлення з HTTP-кодом 302 або 303:
+Приклад так званого тимчасового перенаправлення з HTTP-кодом 302 (або 303, якщо поточний метод запиту - POST):
```php
$this->redirect('Product:show', $id);
@@ -170,7 +170,7 @@ $this->redirect('Product:show', $id);
$this->redirectPermanent('Product:show', $id);
```
-Ви можете перенаправити на інший URL поза додатком за допомогою методу `redirectUrl()`:
+Ви можете перенаправити на іншу URL-адресу за межами програми за допомогою методу `redirectUrl()`. Другим параметром можна вказати HTTP-код, за замовчуванням 302 (або 303, якщо поточний метод запиту - POST):
```php
$this->redirectUrl('https://nette.org');
diff --git a/application/uk/templates.texy b/application/uk/templates.texy
index 6190a04b3f..2dc5f8f053 100644
--- a/application/uk/templates.texy
+++ b/application/uk/templates.texy
@@ -42,7 +42,9 @@ Nette використовує систему шаблонів [Latte |latte:].
- `templates//.latte`
- `templates/..latte`
-Якщо шаблон не знайдено, відповіддю буде [помилка 404 |presenters#error-404-etc].
+Якщо шаблон не буде знайдено, він спробує виконати пошук у каталозі `templates` на один рівень вище, тобто на тому ж рівні, що і каталог з класом presenter.
+
+Якщо шаблон не буде знайдено і там, у відповідь буде видано [помилку 404 |presenters#Error 404 etc.].
Ви також можете змінити вигляд за допомогою `$this->setView('jineView')`. Або, замість прямого пошуку, вкажіть ім'я файлу шаблону за допомогою `$this->template->setFile('/path/to/template.latte')`.