پودمان:See also if exists

از اسلامیکال
نسخهٔ تاریخ ‏۱۸ ژانویهٔ ۲۰۲۳، ساعت ۰۹:۱۵ توسط Aboammar (بحث | مشارکت‌ها) (ساخت الگو)
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به ناوبری پرش به جستجو

توضیحات این پودمان می‌تواند در پودمان:See also if exists/توضیحات قرار گیرد.

--[[ v1.0
]]
local p = {}
local yesno = require("Module:yesno")

function p.main(frame)
	local rawpages = {}
	local nvalid = 0
	local namespace = frame.args.ns
	for i, v in ipairs(frame:getParent().args) do
		if (v ~= nil) then
			local thisArg = mw.text.trim(v)
			if (thisArg ~= "") then
				local title = mw.title.new(thisArg, namespace)
				if title ~= nil and title.exists then
					table.insert(rawpages, title.fullText)
					nvalid = nvalid + 1
				end
			end
		end
	end
	if (nvalid == 0) then
		if yesno(frame.args.warning) then
			if namespace == nil then
				namespace = "صفحه"
			elseif namespace:sub(-1) == "ه" then
				namespace = namespace .. "‌" -- نیم‌فاصله برای رده‌ها و مقاله‌ها
			end
			mw.addWarning(string.format("'''[[%s]] — بدون خروجی؛ زیرا هیچ‌یک از %s‌ها در حال حاضر موجود نیستند.'''",
				frame:getParent():getTitle(),namespace))
		end
		return ""
	end
	local mLabelledList = require('Module:Labelled list hatnote')
	local pages = mLabelledList._labelledList(rawpages, "همچنین ببینید", "")
	return pages
end

return p