mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-18 23:43:19 +08:00
Merge pull request #9949 from bizley-code/guide-pl
Guide [PL] [skip ci]
This commit is contained in:
68
docs/guide-pl/output-pagination.md
Normal file
68
docs/guide-pl/output-pagination.md
Normal file
@@ -0,0 +1,68 @@
|
||||
Paginacja
|
||||
=========
|
||||
|
||||
Kiedy danych jest zbyt dużo, aby wyświetlić je w całości na jednej stronie, zwykle stosuje się mechanizm podziału na wiele stron,
|
||||
z których każda prezentuje tylko część danych na raz. Mechanizm ten nazywamy *paginacją*.
|
||||
|
||||
W Yii obiekt [[yii\data\Pagination]] reprezentuje zbiór informacji o schemacie paginacji.
|
||||
|
||||
* [[yii\data\Pagination::$totalCount|liczba wyników]] określa całkowitą liczbę elementów zestawu danych. Zwykle jest to znacznie większa liczba
|
||||
niż ilość elementów, które można umieścić na pojedynczej stronie.
|
||||
* [[yii\data\Pagination::$pageSize|rozmiar strony]] określa jak wiele elementów może znaleźć się na pojedynczej stronie. Domyślna wartość to 20.
|
||||
* [[yii\data\Pagination::$page|aktualna strona]] wskazuje numer aktualnie wyświetlanej strony (począwszy od zera). Domyślna wartość to 0, wskazująca na pierwszą stronę.
|
||||
|
||||
Korzystając z w pełni zdefiniowanego obiektu [[yii\data\Pagination]], można pobrać i wyświetlić dane w partiach. Dla przykładu, przy pobieraniu danych z bazy można
|
||||
użyć wartości `OFFSET` i `LIMIT` w kwerendzie, które będą odpowiadać tym zdefiniowanym przez paginację.
|
||||
|
||||
```php
|
||||
use yii\data\Pagination;
|
||||
|
||||
// stwórz kwerendę bazodanową, aby pobrać wszystkie artykuły o statusie = 1
|
||||
$query = Article::find()->where(['status' => 1]);
|
||||
|
||||
// ustal całkowitą liczbę artykułów (ale nie pobieraj jeszcze danych artykułów)
|
||||
$count = $query->count();
|
||||
|
||||
// stwórz obiekt paginacji z całkowitą liczbą wyników
|
||||
$pagination = new Pagination(['totalCount' => $count]);
|
||||
|
||||
// ogranicz wyniki kwerendy korzystając z paginacji i pobierz artykuły
|
||||
$articles = $query->offset($pagination->offset)
|
||||
->limit($pagination->limit)
|
||||
->all();
|
||||
```
|
||||
|
||||
Która strona wyników z artykułami zostanie pobrana w powyższym przykładzie? To zależy od tego, czy ustawiono parametr kwerendy `page`.
|
||||
Domyślnie paginacja próbuje ustawić [[yii\data\Pagination::$page|aktualną stronę]] na odpowiadającą wartości parametru `page`.
|
||||
Jeśli ten parametr nie jest przekazany, wartość będzie domyślna, czyli 0.
|
||||
|
||||
Aby ułatwić tworzenie elementów UI, które będą odpowiedzialne za korzystanie z mechanizmu paginacji, Yii posiada wbudowany widżet [[yii\widgets\LinkPager]],
|
||||
który wyświetla listę przycisków z numerami, po kliknięciu których użytkownik przechodzi do pożądanej strony wyników.
|
||||
Widżet korzysta z obiektu paginacji, dzięki czemu wie, który numer ma aktualnie wyświetlana strona i jak wiele przycisków stron powinien wyświetlić.
|
||||
Przykład:
|
||||
|
||||
```php
|
||||
use yii\widgets\LinkPager;
|
||||
|
||||
echo LinkPager::widget([
|
||||
'pagination' => $pagination,
|
||||
]);
|
||||
```
|
||||
|
||||
Jeśli chcesz samemu stworzyć takie elementy UI, możesz skorzystać z metody [[yii\data\Pagination::createUrl()]], aby uzyskać adresy URL poszczególnych stron.
|
||||
Metoda ta wymaga podania parametru page i zwraca poprawnie sformatowany adres URL zawierający ten parametr. Przykładowo,
|
||||
|
||||
```php
|
||||
// określa trasę, która będzie zawarta w nowoutworzonym adresie URL
|
||||
// Jeśli nie będzie podana, użyta zostanie aktualna trasa
|
||||
$pagination->route = 'article/index';
|
||||
|
||||
// wyświetla: /index.php?r=article/index&page=100
|
||||
echo $pagination->createUrl(100);
|
||||
|
||||
// wyświetla: /index.php?r=article/index&page=101
|
||||
echo $pagination->createUrl(101);
|
||||
```
|
||||
|
||||
> Tip: Możesz zmodyfikować nazwę parametru kwerendy `page`, poprzez ustawienie właściwości
|
||||
[[yii\data\Pagination::pageParam|pageParam]] w czasie tworzenia obiektu paginacji.
|
||||
56
docs/guide-pl/tutorial-start-from-scratch.md
Normal file
56
docs/guide-pl/tutorial-start-from-scratch.md
Normal file
@@ -0,0 +1,56 @@
|
||||
Tworzenie własnej struktury aplikacji
|
||||
=====================================
|
||||
|
||||
> Note: Ta sekcja jest w trakcie tworzenia.
|
||||
|
||||
[Podstawowy](https://github.com/yiisoft/yii2-app-basic) i [zaawansowany](https://github.com/yiisoft/yii2-app-advanced) szablon projektu jest w pełni wystarczający w większości
|
||||
przypadków, ale czasem może zajść potrzeba stworzenia własnego szablonu, na bazie którego tworzony będzie projekt.
|
||||
|
||||
Szablony projektów w Yii to po prostu repozytoria zawierające plik `composer.json` i zarejestrowane jako paczki Composera.
|
||||
Każde repozytorium może stać sie taką paczką, dzięki czemu można je zainstalować wywołując komendę Composera `create-project`.
|
||||
|
||||
Ponieważ stworzenie nowego szablonu projektu od podstaw jest pracochłonne, łatwiej po prostu użyć jednego z gotowych szablonów jako bazy. W tym przykładzie skorzystamy
|
||||
z podstawowego szablonu.
|
||||
|
||||
Kopia podstawowego szablonu projektu
|
||||
------------------------------------
|
||||
|
||||
Pierwszym krokiem jest wykonanie kopii podstawowego szablonu Yii z repozytorium Git:
|
||||
|
||||
```bash
|
||||
git clone git@github.com:yiisoft/yii2-app-basic.git
|
||||
```
|
||||
|
||||
Po zakończeniu pobierania plików repozytorium, można skasować folder `.git` wraz z zawartością, ponieważ wprowadzonych przez nas zmian nie zamierzamy wysyłać z powrotem.
|
||||
|
||||
Modyfikacja plików
|
||||
------------------
|
||||
|
||||
Następnie należy zmodyfikować plik `composer.json`, aby opisywał nasz szablon. Zmień wartości `name` (nazwa), `description` (opis), `keywords` (słowa kluczowe), `homepage` (strona domowa),
|
||||
`license` (licencja), i `support` (wsparcie) na takie, które odpowiadają nowemu szablonowi. Zmodyfikuj również `require`, `require-dev`, `suggest` i wszelkie inne opcje zgodnie
|
||||
z wymaganiami.
|
||||
|
||||
> Note: W pliku `composer.json` użyj parametru `writable` znajdującego się w elemencie `extra`, aby określić
|
||||
> uprawnienia dla plików, które zostaną ustawione po utworzeniu aplikacji na podstawie szablonu.
|
||||
|
||||
Następnie należy zmodyfikować właściwą strukturę i zawartość aplikacji, aby stanowiły domyślną początkową wersję dla projektów.
|
||||
Na samym końcu zmodyfikuj plik README, aby pasował do szablonu.
|
||||
|
||||
Tworzenie paczki
|
||||
----------------
|
||||
|
||||
Nowy szablon umieść w odpowiadającym mu repozytorium Git. Jeśli zamierzasz udostępnić go jako open source, [Github](http://github.com) jest najlepszym miejscem do tego celu.
|
||||
Jeśli jednak nie przewidujesz współpracy z innymi nad swoim szablonem, dowolne repozytorium Git będzie odpowiednie.
|
||||
|
||||
Następnie należy zarejestrować swoją paczkę dla Composera. Dla publicznie dostępnych szablonów paczkę należy zarejestrować w serwisie [Packagist](https://packagist.org/).
|
||||
Z prywatnymi szablonami sprawa jest trochę bardziej skomplikowana - instrukcję, jak to zrobić, znajdziesz w [dokumentacji Composera](https://getcomposer.org/doc/05-repositories.md#hosting-your-own).
|
||||
|
||||
Użycie szablonu
|
||||
---------------
|
||||
|
||||
Tylko tyle jest wymagane, aby stworzyć nowy szablon projektu Yii. Teraz już możesz rozpocząć pracę nad świeżym projektem, używając swojego szablonu, za pomocą komend:
|
||||
|
||||
```
|
||||
composer global require "fxp/composer-asset-plugin:~1.0.3"
|
||||
composer create-project --prefer-dist --stability=dev mojafirma/yii2-app-fajna nowy-projekt
|
||||
```
|
||||
Reference in New Issue
Block a user