Подстановка значений

shebeda

Гуру MediaWiki
Регистрация
13.12.2013
Сообщения
74
Реакции
0
Буду делать каталог запчастей. Есть номер запчасти. Например 754-0101

Буду вводить так
...
|-
|{{MTDPN|754-0101}}||{{MTDPND|754-0101}}||...
...
С пунктом {{MTDPN|754-0101}} -- там будет формироваться ссылка на страницу в зависимости от номера детали и выводимый текст

А вот с {{MTDPN|754-0101}} сложно.
Нужен шаблон типа

{{switch:
|defolt = xxxxxxx
|754-0101 = Описание этой детали
|754-0102 = Описание этой детали
|754-0103 = Описание этой детали
|754-0104 = Описание этой детали
|754-0105 = Описание этой детали
|754-0106 = Описание этой детали
}}

В строку будет подставлять только одно значение

То есть шаблон при подстановке в него номера детали выдаёт заранее введённый текст

Это нужно для того, чтобы при добавлении детали в список на странице не надо было также добавлять и описание.

Нашел похожий шаблон http://www.mediawiki.org/wiki/Switch#.23switch
Но он не пашет.

Подскажите, пожалуйста, как сделать?
 
Последнее редактирование:
а что мешает для каждой запчасти создать шаблон: {{754-0101}} и выводить там что угодно? зависит конечно от того как вы это будете выводить. есть уже какой-то пример где посмотреть?
 
Пример тут:
http://master-noob.ru/index.php/Снегоуборщик_MTD_M_61/31A-62C2678_(2014)

Но сразу скажу -- на одну страницу может выводиться до пятисот деталей, поэтому будет подгружаться до пятисот шаблонов. Если бы погрузился один шаблон и в соответствующих строках прошла бы просто выборка, думаю и загрузка была бы быстрей, и нагрузка на сервер меньше, да и редактировать было бы намного проще и быстрей -- вообще можно было бы делать через эксель...

Я изначально и рассматривал по шаблону на каждую деталь, но уж больно заморочено будет...
 
Я изначально и рассматривал по шаблону на каждую деталь, но уж больно заморочено будет...
а на сколько объемное описание детали?
Нашел похожий шаблон Но он не пашет.
Он вроде бы использует StringFunctions не вижу чтобы он был установлен. Или эта вики только как пример?
А нет, он в ParserFunctions был интегрирован, так что все должно быть ок. Какая ошибка выдается?
 
Создаем Шаблон:Switch
Код:
{{#switch: {{{1}}}
|754-0101 = Описание 754-0101 детали
|754-0102 = Описание 754-0102 детали
|754-0103 = Описание 754-0103 детали
|754-0104 = Описание 754-0104 детали
|754-0105 = Описание 754-0105 детали
|754-0106 = Описание 754-0106 детали
|Деталь не найдена
}}
Там где нада вызываем его так: {{Switch|754-0101}}
Вот результат
 

Вложения

  • switch.png
    switch.png
    81,1 КБ · Просмотры: 3
а на сколько объемное описание детали?
Планируется в одну строку, типа
"Приводной ремень. Профиль [[Ремни профиля А|A]] (гладкий клин 12,7 мм х 8,5 мм), длина 790 мм"

Насколько будет сильно нагружаться, если файл будет содержать описание около пяти тысяч деталей?


Поставил {{{1}}} и всё заработало.

Огромное спасибо!!!)
 
Возхник вопрос -- как этот шаблон будет работать при количестве строк около 5000 и как прикинуть нагрузку на сервер?

Шаблон будет использоваться на сотнях страниц и на каждой странице, где он будет использоваться, может быть по нескольку десятков этого шаблона.
 
В контрольной панеле хостинга должны быть графики нагрузки.
И можно почитать про кэш в документации.
 
В контрольной панеле хостинга должны быть графики нагрузки.
К сожалению у меня пока нет столько позиций, чтобы посмотреть по факту...


Есть ещё одна задача:
Сделать блок с ссылками на эту статью в которых ссылка формируется посредством определённого шаблона -- например тут
http://master-noob.info/index.php/MTD/Снегоуборщики/M_56/31A-32AD700R_(2011)

Ссылки формируются шаблоном со свичём в виде
{{MTD-PN|684-04168}}
Надо построить список в виде любого из штатных списков нумерация/маркеры тех страниц, где есть такая публикация и не выводить те, в которых такой публикации нет.

Можно ли вообще вставить всю страницу "Ссылки сюда"?
 
К сожалению у меня пока нет столько позиций, чтобы посмотреть по факту...
так разве долго забекапится и накопипастить?
Надо построить список в виде любого из штатных списков нумерация/маркеры тех страниц, где есть такая публикация и не выводить те, в которых такой публикации нет.
может все таки категории?
 
может все таки категории?
Задача такая:
Показать список страниц, которые содержат ссылку на статью, есть вариант такой:
http://master-noob.info/index.php?title=Служебная:Ссылки+сюда&target=MTD+684-04168&namespace=0

Если можно будет поставить его, то всё будет нормально, чтобы не делать такие списки:
http://master-noob.info/index.php/MTD_684-04168
Благодаря макросу такие списки можно делать легко, если он будет обновляться автоматом, то можно и опустить полноту описания и сортировку.
 
Благодаря макросу такие списки можно делать легко, если он будет обновляться автоматом, то можно и опустить полноту описания и сортировку.
выше пост еще
 
Пока писал, не успел. Ща читаю -- не могу понять, как вывести список -- что куда подставлять?

Поставил:
{{Служебная:Ссылки сюда/{{FULLPAGENAME}}}} -- ссылка есть
Не могу понять написанное тут:
I missed the part about changing the $mList entry for Whatlinkshere from SpecialPage to IncludableSpecialPage.
 
Поставил. Получилось вывести список.
http://master-noob.info/index.php/MTD_684-04168
Но выдаёт какую-то ошибку
Notice: Undefined property: Cite::$mInCnt in /home/masternoob/master-noob.info/docs/extensions/DynamicPageList/DPL.php on line 78
О ней нашёл только тут
http://semeb.com/dpldemo/index.php?title=Issue:DPL_references_obsolete_Cite_mInCnt_property
Как решить не понял, тупо закомментировал -- вроде ошибка пропала и список выводится, надеюсь ничего нужного не отпадёт...

Добавил ещё и namespace -- решил проблему с ненужными ссылками.

Большое спасибо за совет.
 
И так про шаблон со switch:
При увеличении списка до тысячи значений нагрузка возросла так, что сайт еле грузился. Как только удалил этот шаблон, всё стало летать.
Так что нужен альтернативный способ, желательно с обработкой страниц на стороне пользователя.
 
Назад
Верх