Перейти к содержанию
Главное меню
Главное меню
переместить в боковую панель
скрыть
Навигация
Заглавная страница
Свежие правки
Случайная страница
Сервисы команды разработки
Аэропро
Аэропро.Эксперт
ОВиК project
Форум ОВиК project
Аэропро.Вики
Поиск
Найти
Создать учётную запись
Войти
Персональные инструменты
Создать учётную запись
Войти
Страницы для неавторизованных редакторов
узнать больше
Вклад
Обсуждение
Редактирование:
Модуль:SP7Tags
Модуль
Обсуждение
English
Читать
Править код
История
Инструменты
Инструменты
переместить в боковую панель
скрыть
Действия
Читать
Править код
История
Общие
Ссылки сюда
Связанные правки
Служебные страницы
Сведения о странице
Данные cargo
Получить короткий URL
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
local p = {} -- split "ПБЗ, давление; расход" -> {"ПБЗ","давление","расход"} local function split_tags(s) if not s or s == "" then return {} end -- унифицируем разделители: ; и переносы -> , s = mw.ustring.gsub(s, "[;\n\r]+", ",") local out = {} for part in mw.ustring.gmatch(s, "([^,]+)") do part = mw.text.trim(part) if part ~= "" then table.insert(out, part) end end return out end -- Сохраняет теги (вызывает шаблон ТегСП7 для каждого тега) function p.store(frame) local args = frame.args local num = mw.text.trim(args.num or "") local tags = args.tags or "" if num == "" then return "" end local list = split_tags(tags) if #list == 0 then return "" end local chunks = {} for _, tag in ipairs(list) do tag = mw.text.trim(tag) table.insert(chunks, string.format("{{ТегСП7|num=%s|tag=%s}}", mw.text.nowiki(num), mw.text.nowiki(tag) )) end -- Выполнить сгенерированные вызовы шаблонов -- ВАЖНО: соединяем пробелом, чтобы не было абзацев return frame:preprocess(table.concat(chunks, " ")) end -- Возвращает список тегов как ссылки вида ?tag=... function p.links(frame) local num = mw.text.trim(frame.args.num or "") local base = frame.args.base or mw.title.getCurrentTitle().prefixedText if num == "" then return "" end local cargo = mw.ext.cargo local rows = cargo.query('sp7_letter_tags', 'tag', { where = 'num="' .. num .. '"', orderBy = 'tag' }) local seen, out = {}, {} for _, r in ipairs(rows) do local tag = mw.text.trim(r.tag or "") if tag ~= "" and not seen[tag] then seen[tag] = true local url = base .. "?tag=" .. mw.uri.encode(tag) table.insert(out, string.format("[[%s|%s]]", url, tag)) end end return table.concat(out, ", ") end return p
Описание изменений:
Пожалуйста, учтите, что любой ваш вклад в проект «Аэропро.Вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см.
Аэропро.Вики:Авторские права
).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!
Отменить
Справка по редактированию
(в новом окне)
Шаблон, используемый на этой странице:
Модуль:SP7Tags/doc
(
править
)
Отобразить/Скрыть ограниченную ширину содержимого