Szablon:Recipes

Z Terraria Wiki
Skocz do: nawigacja, szukaj
Lua logo.svg
Ten szablon wykorzystuje Moduł:Recipes, będący skryptem napisanym w języku programowania Lua. Aby lepiej zapoznać się z tym językiem odwiedź podane strony wikipedia:Lua oraz mw:Extension:Scribunto.

This template defines the table "Recipes". View table.

Template-info.svg Dokumentacja Poniższa dokumentacja jest załączona do Szablon:Recipes/doc. (edytuj | historia)

Ten szablon tworzy zapytania o przepisy rzemieślnicze do bazy danych i wyświetla je jako tabelę. Oryginalne źródło danych można znaleźć na podstronach Schematy rzemieślnicze.

Sposób użycia[edytuj kod]

Parametry ograniczeń zapytań:

station = station1/station2/...

Wyświetla tylko przepisy, które korzystają z tych stacji.

stationnot = station1/station2/...

Wyklucza przepisy, które korzystają z tych stacji.

result = result1/result2/...

Wyświetla tylko te przepisy, które tworzą ten przedmiot. Możliwe jest również wyszukiwanie wzorców przy użyciu składni SQL LIKE. Przykład: result=LIKE %Phaseblade, wiele: result=Iron Bar/LIKE %Phaseblade. Zauważ, że "LIKE" musi być pisane wielkimi literami.

resultnot = result1/result2/...

Wyklucz te przepisy, które tworzą ten przedmiot. Możliwe jest również wyszukiwanie wzorców przy użyciu składni SQL LIKE. Przykład: result=LIKE %Phaseblade, wiele: result=Iron Bar/LIKE %Phaseblade. Zauważ, że "LIKE" musi być pisane wielkimi literami.

ingredient = ingredient1/ingredient2/...

Wyświetla tylko te przepisy, które wykorzystują te przedmioty jako składniki. Możesz użyć "Any xxx" jako nazwy składnika dla niektórych grup alternatywnych składników rzemieślniczych; a jeśli zapytasz o element w zastępowalnej grupie przedmiotów, otrzymasz również "Any xxx". Dodanie "#" jako prefiksu (#xxx) wyłączy to dla tego konkretnego elementu. Na przykład, jeśli wykonasz zapytanie za pomocą |ingredient=Shadewood, otrzymasz przepisy tak, jakbyś zapytał za pomocą ingredient=#Shadewood/#Any Wood; |ingredient=#Shadewood/Iron Bar jest równoznaczny z użyciem |ingredient=#Shadewood/#Iron Bar/#Any Iron Bar. Możliwe jest również wyszukiwanie wzorców przy użyciu składni SQL LIKE. Przykład: result=LIKE %Phaseblade, wiele: result=Iron Bar/LIKE %Phaseblade. Zauważ, że "LIKE" musi być pisane wielkimi literami.

version/versions = platform-platform-platform

Wyświetla tylko przepisy, które są wyłączne dla określonych platform. Należy pamiętać, że ten parametr wymaga pełnego dopasowania. Na przykład, jeśli przepis dotyczy wyłącznie komputerów stacjonarnych i konsoli, musisz użyć |version=desktop-console (może być w dowolnej kolejności), aby go dopasować. |version=desktop nie będzie pasować.

Uwaga: Związek między powyższymi parametrami to "and", a związek wielu wartości w obrębie jednego parametru to "or". Na przykład |station=Sawmill/Loom|resultnot=Silk oznacza (w stylu SQL): (station = Sawmill OR station = Loom) AND result <> Silk.

where = whereString

Surowy ciąg wejściowy, w którym znajduje się parametr zapytania o ładunek. Jeśli jest określony, wszystkie powyższe parametry są ignorowane. Służy do pisania złożonych zapytań w razie potrzeby, z zachowaniem ostrożności.

Inne parametry:

title

Dodaje pasek tytułu do tabeli przepisów z określonym tekstem.

grouping = n/no

Wyłącza grupowanie wyników i numerów zewnętrznych.

nostation = y

Jeśli jest ustawiony, kolumna Stacje rzemieślnicze zostanie ukryta.

stationgrouping = n/no

Wyłącza grupowanie kolumn w Stacje rzemieślnicze. Obowiązuje tylko wtedy, gdy nostation nie jest ustawione.

showresultid = y

Jeśli jest ustawione, pozycje wyników pokażą swoje wewnętrzne identyfikatory pozycji (jeśli są dostępne).

cate = no/force

Domyślnie ten szablon doda stronę przekreślającą do kategorii stanowiska rzemieślniczego, jeśli wynikiem tworzenia jest sam tytuł strony. cate=no wyłączy to. cate=force wymusi kategoryzację, bez względu na wynik i tytuł strony.

link = n/no

Ustaw na n/no, aby zatrzymać łączenie wyników z ich stronami.

expectedrows = liczba

Podaj oczekiwaną liczbę wierszy w tej tabeli rzemiosła. Jeśli oczekiwana i rzeczywista liczba wierszy nie jest równa, ta strona zostanie dodana do Category:Recipes_table_with_unexcepted_total_number_of_rows.

sortable = n/no

Sprawia, że tabeli nie można posortować.

class =
id =
css/style =

Atrybuty klasy / id / stylu HTML dla zewnętrznego elementu div.

Przykład[edytuj kod]

{{recipes|ingredient=Bone|station=Bone Welder|resultnot=Bone Block Wall|expectedrows=18}}

Ten kod odpytuje wszystkie Meble z kości.

Objaśnienie: Wybierz wszystkie przepisy, które zawierają KośćKość jako składnik, oraz Spawacz kościSpawacz kościPC, Konsole, Konsole starszej generacji, oraz Urządenia mobilne jako stację rzemieślniczą, a następnie wyklucz wynik Ściana z bloków kościŚciana z bloków kości. W meblach z kości znajduje się 18 przedmiotów, dlatego zapewniamy odpowiednią ilość wierszy expectedrows=18.

Rejestracja przepisów[edytuj kod]

Przepisy w bazie danych są rejestrowane przez {{recipes/register}}. Wszystkie przepisy powinny zostać zarejestrowane na odpowiedniej stronie stacji rzemieślniczej (Schematy rzemieślnicze/[stacja rzemieślnicza]), np. Schematy rzemieślnicze/Tartak. Aby użyć {{recipes/register}}, zobacz jego dokumentacje.

Zaawansowane użycie[edytuj kod]

Niestandardowe komórki wyników[edytuj kod]

resulttemplate = nazwa szablonu używana dla komórki wyniku formatu.

Ten szablon otrzyma następujące argumenty:

  • link, showid, noversion: opcja dla {{item}} szablon używany domyślnie.
  • result, resultid, resultimage, resultname, resulttext, amount, versionse: informacje o wyniku rzemieślniczym.

"@@@@" w szablonie dane wyjściowe zostaną zastąpione domyślnym wyświetlaniem wyników.

Zobacz Krzesła#Schematy rzemieślnicze jako przykład.

Niestandardowy nagłówek tabeli[edytuj kod]

header-result = zawartość wyniku <th>, domyślnie jest to Wynik
header-ingredients = zawartość składników <th>, domyślnie jest to Składniki
header-station = zawartość stacji rzemieślniczej <th>, domyślnie jest to [[Stacje rzemieślnicze]]

Dodawanie dodatkowych kolumn/wierszy wokół stacji rzemieślniczych[edytuj kod]

Obowiązuje tylko wtedy, gdy nostation nie jest ustawione.

Definiowanie kolumn:

station-col-before-1
station-col-before-2
station-col-before-3

...
Nagłówki kolumn przed kolumną stacji rzemieślniczej

station-col-after-1
station-col-after-2
station-col-after-3

...
Nagłówki kolumn przed kolumną stacji rzemieślniczej

Definiowanie kluczy indeksu dla zawartości wiersza:

station-index-Furnace = _a

Definiowanie klucza indeksu dla "Piec" (jako parametr station), jako przykład

Definiowanie aktualnej zawartości:

_a-row-station-col-before-1 =
_a-row-station-col-before-2 =

...

_a-row-station-col-after-1 =

...
Definiowanie zawartości dla <td> za pomocą klucza indeksu.

Dodawanie dodatkowych kolumn/wierszy wokół, wyników rzemiosła[edytuj kod]

Definiowanie kolumn:

col-A-1
col-A-2

...

col-B-1

...

col-C-1

...

col-D-1

...
Kolejność wyświetlania wszystkich kolumn wygląda następująco:
col-As • Resultcol-Bs • Ingredientscol-Cs • station-col-befores • Crafting Stationstation-col-afters • Col-Ds

Definiowanie kluczy indeksu dla zawartości wiersza:
Definiowanie klucza indeksu dla wiersza (Priorytet w tej kolejności):

result-index-#3 = _a

Definiowanie według numeru wiersza

result-index-Crimtane Bar-desktop console = _a

Definiowanie według nazwy wyniku + informacji o wersji

result-index-Copper Bar = _a

Definiowanie według nazwy wyniku

Definiowanie aktualnej zawartości:

_a-row-col-A-1 =

...
Definiowanie zawartości dla <td> za pomocą klucza indeksu, odpowiadającego definicji kolumn.

Dodawanie dodatkowych wierszy[edytuj kod]

UWAGA: dodatkowe wiersze nie liczą się jako część expectedrows.

Przed wierszami przepisu:

topextrow-1-col-result =
topextrow-1-col-ingredients =
topextrow-1-col-station =
topextrow-1-col-ingredients =
topextrow-1-col-C-2 =

...

topextrow-2-col-result =

...

Po wierszach przepisu:

extrow-1-col-result =
extrow-1-col-ingredients =
extrow-1-col-station =
extrow-1-col-B-1 =
extrow-1-col-C-1 =

...

extrow-2-col-result =

...

Zobacz przykłady Sztabki i Mikstury odnowy.

Wyodrębnij składnik[edytuj kod]

Niektóre składniki przepisu można wyodrębnić i sformatować osobno, patrz {{recipes/extract}}.

Policz dla wierszy wyników[edytuj kod]

Możesz użyć {{recipes/exist}} i {{recipes/count}}, aby sprawdzić istnienie i liczbę wyników przepisów spełniających ograniczenia zapytań. Uwaga: powinieneś użyć {{#if:{{recipes/exist|<constraints>}}}} do sprawdzenia istnienia zamiast {{#ifeq:{{recipes/count|<constraints>}}|0}}, ponieważ ten pierwszy jest znacznie wydajniejszy.