Перейти к содержанию

Обсуждение модуля:Monument

Содержимое страницы недоступно на других языках.
Добавить тему
Материал из Wikivoyage
Последнее сообщение: 3 года назад от Bok в теме «Якорь в карточках объектов»

Код для шаблона monument-duplicate

[править]

Этот шаблон переводить на Lua нет смысла, но раз код я тогда написал, пусть тут будет, вдруг зачем-то окажется нужен. --Bok (обсуждение) 04:29, 16 ноября 2018 (MSK)Ответить

function p.monument_duplicate(frame)
  local pArgs = frame:getParent().args

  local knid = pArgs["knid"]
  local knid_list = pArgs["knid-list"]
  local name = pArgs["name"]
  local distict = pArgs["distict"]
  local municipality = pArgs["municipality"]
  local address = pArgs["address"]
  local comment = pArgs["comment"]

-- Шапка шаблона, номер, название
  local t = [[{| border=0 style="font-size:97%;width:100%;background-color:#F8F8F8"
|- valign="top"
| ''Номер'': ]] .. knid
  if knid_list ~= nil then
    t = t .. ' повторяет [https://tools.wmflabs.org/ru_monuments/wikivoyage.php?id=' .. knid_list .. ' ' .. knid_list .. '] в списках'
  else
    t = t .. ' — ошибочная запись'
  end
  t = t .. "<br>''Название'': " .. name .. '<br>'

-- Расположение
  t = t .. "''Расположение:'' "
  if distict ~= nil then 
    t = t .. distict .. ",&nbsp;"
  end
  if municipality ~= nil then 
    t = t .. municipality
  end
  if address ~= nil then 
    t = t .. ", " .. address
  end

-- Комментарий
  if comment ~= nil then 
    t = t .. "<br>''Комментарий:'' " .. comment
  end

-- Паспорт
  if mw.title.new('Passport_' .. knid .. '.pdf', 'File').exists == true then
    t = t .. "<br>'''[[:File:Passport_" .. knid .. ".pdf|паспорт объекта]]'''"
  end
  t = t .. '\n|}<hr>'
  return t
end

Якорь в карточках объектов

[править]

Хочу добавить в карточки памятников якорь id="<knid>", чтоб можно было давать ссылку на конкретный объект в списке. Т. к. я раньше не редактировал модули, хотел бы удостоверится, что моя правка не сломает весь проект. Хочу вот так изменить строку:

local t = [[{| id=" .. knid .. " class="monument" border=0 style="font-size:97%;width:100%;"

Евгений Катышев (обсуждение) 12:43, 23 ноября 2020 (MSK)Ответить

Такой якорь уже есть (<span id="' .. knid .. '">). Или с ним что-то не так? --Bok (обсуждение) 12:47, 23 ноября 2020 (MSK)Ответить
Как-то умудрился просмотреть. С ним всё хорошо. Евгений Катышев (обсуждение) 19:34, 23 ноября 2020 (MSK)Ответить
Но с ним всё-таки есть небольшая проблема. Т. к. он установлен в одном из дочерних элементов, то страница прокручивается до него и верхний отступ карточки оказывается скрыт, а название объекта располагается вплотную к краю экрана. Если якорь перенести в тег таблицы, как я хотел, то такой проблемы не должно быть. Евгений Катышев (обсуждение) 14:12, 27 ноября 2020 (MSK)Ответить
Да, кажется, что так лучше. Так как с технической точки зрения никто не возразил, поменял. --Bok (обсуждение) 23:06, 6 декабря 2020 (MSK)Ответить