יחידה:PropertyLink: הבדלים בין גרסאות בדף
מראה
מאין תקציר עריכה |
מאין תקציר עריכה |
||
| שורה 3: | שורה 3: | ||
function p.property(frame) | function p.property(frame) | ||
entity = mw.wikibase.getEntity() | entity = mw.wikibase.getEntity() | ||
if entity == nil or entity.claims == nil then return nil end--the entity doesnt exist or have no claims | |||
if entity == nil or entity.claims == nil then | |||
propertyName = nil | propertyName = nil | ||
if frame.args ==nil then | if frame.args ==nil then | ||
| שורה 14: | שורה 11: | ||
end | end | ||
property = entity.claims[propertyName] | property = entity.claims[propertyName] | ||
if property == nil then | if property == nil then return nil end--no such property for this item | ||
property = property[0] | property = property[0] | ||
propValue = property.mainsnak.datavalue | propValue = property.mainsnak.datavalue | ||
if propValue ==nil then | if propValue ==nil then return nil end --property doesnt exist | ||
if propValue['type']=='wikibase-entityid' then | if propValue['type']=='wikibase-entityid' then | ||
linkTarget = mw.wikibase.sitelink("Q" .. propValue.value['numeric-id']) | linkTarget = mw.wikibase.sitelink("Q" .. propValue.value['numeric-id']) | ||
| שורה 27: | שורה 20: | ||
if not ((linkTarget == nil) or (linkTitle==nil)) then | if not ((linkTarget == nil) or (linkTitle==nil)) then | ||
return "[[" .. linkTarget .. "|" .. linkTitle .."]]" | return "[[" .. linkTarget .. "|" .. linkTitle .."]]" | ||
else | |||
return linkTitle | |||
end | end | ||
elseif propValue['type']=='string' then | elseif propValue['type']=='string' then | ||
| שורה 32: | שורה 27: | ||
end | end | ||
return nil | return nil | ||
end | |||
-- Return the label for property, or the label of the linked entiy of that property | |||
function p.label(frame) | |||
entity = mw.wikibase.getEntity() | |||
if entity == nil or entity.claims == nil then return nil end--the entity doesnt exist or have no claims | |||
propertyName = nil | |||
if frame.args ==nil then | |||
propertyName = frame | |||
else | |||
propertyName = frame.args[1] | |||
end | |||
property = entity.claims[propertyName] | |||
if property == nil then return nil end--no such property for this item | |||
property = property[0] | |||
propValue = property.mainsnak.datavalue | |||
if propValue ==nil then return nil end --property doesnt exist | |||
if propValue['type']=='wikibase-entityid' then | |||
return mw.wikibase.label("Q" ..propValue.value['numeric-id']) | |||
elseif propValue['type']=='string' then | |||
return propValue.value | |||
end | |||
return nil | |||
end | end | ||
--use this function to get associated image to be used in the article | --use this function to get associated image to be used in the article | ||
function p.imageLink(frame) | function p.imageLink(frame) | ||
גרסה מ־10:49, 6 באפריל 2013
יחידה זו משמשת כדי לקשר בוויקיפדיה לפי ויקינתונים. היחידה מיועדת לשימוש בעיקר בתבניות וכוללת את הפונקציות הבאות:
- property או מאפיין - לקבלת קישור לפי "קביעה" מוויקינתונים
- label או תווית: דומה לפונקציה הקודמת, רק שלא מחזיר קישור אלא ללא קישור - מחזיר את התווית (label) וללא תלות בקישור כלשהו שקיים או לא קיים בוויקיפדיה בעברית
- פרמטרים: שם המאפיין (property) המתאים (בצורה של P123)
- imageLink או תמונה: פונקציה שמחזירה תמונה שמתאימה לשילוב בתבנית מידע בערך.
- פרמטרים:
- פרמטר ראשון - (אופציונלי) אם לא מקבל פרמטר בכלל משתמש ב־d:Property:p18 (מאפיין כללי של תמונה), אחרת משתמש בפרמטר המאפיין המכיל את התמונה
- width - גודל התמונה (אחרת 220px)
- פרמטרים:
- hasEntry או יש פריט: פונקציה שמחזירה "1" אם לערך יש פריט ויקינתונים; או "" אם אין.
- פרמטרים: אין
הערות נוספות:
- ייתכן שבעתיד תהיה תמיכה מובנית לפחות בחלק מהאפשרויות הנ"ל ראו בmeta:Wikidata/Notes/Inclusion_syntax#Items
local p = {}
function p.property(frame)
entity = mw.wikibase.getEntity()
if entity == nil or entity.claims == nil then return nil end--the entity doesnt exist or have no claims
propertyName = nil
if frame.args ==nil then
propertyName = frame
else
propertyName = frame.args[1]
end
property = entity.claims[propertyName]
if property == nil then return nil end--no such property for this item
property = property[0]
propValue = property.mainsnak.datavalue
if propValue ==nil then return nil end --property doesnt exist
if propValue['type']=='wikibase-entityid' then
linkTarget = mw.wikibase.sitelink("Q" .. propValue.value['numeric-id'])
linkTitle = mw.wikibase.label("Q" ..propValue.value['numeric-id'])
if not ((linkTarget == nil) or (linkTitle==nil)) then
return "[[" .. linkTarget .. "|" .. linkTitle .."]]"
else
return linkTitle
end
elseif propValue['type']=='string' then
return propValue.value
end
return nil
end
-- Return the label for property, or the label of the linked entiy of that property
function p.label(frame)
entity = mw.wikibase.getEntity()
if entity == nil or entity.claims == nil then return nil end--the entity doesnt exist or have no claims
propertyName = nil
if frame.args ==nil then
propertyName = frame
else
propertyName = frame.args[1]
end
property = entity.claims[propertyName]
if property == nil then return nil end--no such property for this item
property = property[0]
propValue = property.mainsnak.datavalue
if propValue ==nil then return nil end --property doesnt exist
if propValue['type']=='wikibase-entityid' then
return mw.wikibase.label("Q" ..propValue.value['numeric-id'])
elseif propValue['type']=='string' then
return propValue.value
end
return nil
end
--use this function to get associated image to be used in the article
function p.imageLink(frame)
entity = mw.wikibase.getEntity()
if entity == nil or entity.claims == nil then
return nil --the entity doesnt exist or have no claims
end
property = entity.claims["p18"]
if property then
width = (frame and frame.args and frame.args["width"]) or "220px"
property = '[[File:' .. property[0].mainsnak.datavalue.value ..'|'..width .. ']]'
end
return property
end
return p