Bearbeiten von „Modul:PropertyLink

    Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden. Ein eigenes Benutzerkonto hat eine ganze Reihe von Vorteilen.

    Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

    Aktuelle Version Dein Text
    Zeile 1: Zeile 1:
    function getLinkLabel(propValue, frame)
    function getProperty( propertyName )
    if propValue['type'] == 'wikibase-entityid' then
         local entity = mw.wikibase.getEntity()
    local isWikipedia = false
            local linkTarget = mw.wikibase.sitelink( "Q" .. propValue.value['numeric-id'] )
            if not linkTarget then
            local targetEntity = mw.wikibase.getEntity( "Q" .. propValue.value['numeric-id'] )
            if targetEntity and targetEntity['sitelinks'] then
            if targetEntity['sitelinks']['dewiki'] then
            linkTarget = string.gsub('de:' .. targetEntity['sitelinks']['dewiki']['title'], ' ', '_')
            isWikipedia = true
            elseif targetEntity['sitelinks']['enwiki'] then
            linkTarget = string.gsub(targetEntity['sitelinks']['enwiki']['title'], ' ', '_')
            isWikipedia = true
        end
    end
    end
            local linkTitle = mw.wikibase.label( "Q" ..propValue.value['numeric-id'] )
           
            if isWikipedia then
            template = "{{WikipediaLink|%s|%s}}"
            end
            if linkTarget and linkTitle then
            if isWikipedia then
            return frame:expandTemplate{ title = 'WikipediaLink', args = { linkTarget, linkTitle } }
            end
            return mw.ustring.format( "[[%s|%s]]", linkTarget, linkTitle )
            else
                return linkTitle
            end
        elseif propValue and propValue['type'] == 'string' then
        return propValue.value
        end
    end
     
    function getProperty(propertyName, frame)
         local entity = mw.wikibase.getEntityObject()
         if not entity or not entity.claims then return end--the entity doesnt exist or have no claims
         if not entity or not entity.claims then return end--the entity doesnt exist or have no claims
         local property = entity.claims[propertyName]
         local property = entity.claims[propertyName]
         if not property then return end--no such property for this item
         if not property then return end--no such property for this item
         property = property[1]
         property = property[0]
         local propValue = property.mainsnak and property.mainsnak.datavalue
         local propValue = property.mainsnak and property.mainsnak.datavalue
         if not propValue then return end --property doesnt exist
         if not propValue then return end --property doesnt exist
     
        if propValue['type'] == 'wikibase-entityid' then
    local label = getLinkLabel(propValue, frame)
            local linkTarget = mw.wikibase.sitelink( "Q" .. propValue.value['numeric-id'] )
            local linkTitle = mw.wikibase.label( "Q" ..propValue.value['numeric-id'] )
    if not label == propValue then
            return linkTarget and linkTitle and mw.ustring.format( "[[%s|%s]]", linkTarget, linkTitle )
    return label
                or linkTitle
    end
        elseif propValue and propValue['type'] == 'string' then return propValue.value end
    if property.qualifiers and property.qualifiers["P27"] then
    return mw.ustring.format( "[%s %s]", property.qualifiers["P27"][1].datavalue.value, label )
    end
    return label
    end
    end
     
    function property( frame )
    function property( frame )
         return getProperty(string.upper(frame.args[1], frame), frame)
         return getProperty(frame.args[1])
    end
    end
     
    function getLabel( propertyName )
    function getLabel( propertyName )
         local entity = mw.wikibase.getEntity()
         local entity = mw.wikibase.getEntity()
    Zeile 74: Zeile 35:
         end
         end
    end
    end
    function getLinkLabels( frame )
    propertyName = frame.args[1]
        local entity = mw.wikibase.getEntityObject()
        if not entity or not entity.claims then return end--the entity doesnt exist or have no claims
        local properties = entity.claims[propertyName]
        if not properties then return end--no such property for this item
       
       
        local retVal = ''
        for propIndex in pairs(properties) do
        local property = properties[propIndex]
    local propValue = property.mainsnak.datavalue
    if not propValue then return '' end --property doesnt exist
    local value = getLinkLabel(propValue, frame)
    if retVal == '' then
    retVal = value
    else
    retVal = retVal .. ', ' .. value
    end
    end
    return retVal
    end
    -- Return the label for property, or the label of the linked entiy of that property
    -- Return the label for property, or the label of the linked entiy of that property
    function label( frame )
    function label( frame )
         return getLabel(string.lower(frame.args[1]))
         return getLabel( frame.args[1] )
    end
    end
     
    function getImageLink( propName, width)
    function getImageLink( propName, width)
         local entity = mw.wikibase.getEntity()
         local entity = mw.wikibase.getEntity()
         if not entity or not entity.claims then return end --the entity doesnt exist or have no claims
         if not entity or not entity.claims then return end --the entity doesnt exist or have no claims
         local property = entity.claims[propName or "P4"]
         local property = entity.claims[propName or "p18"]
         if property then
         if property then
             local width = width or "220"
             local width = width or "220"
             return mw.ustring.format( '[[File:%s|%spx]]', property[1].mainsnak.datavalue.value, width )
             return mw.ustring.format( '[[File:%s|%spx]]', property[0].mainsnak.datavalue.value, width )
         end
         end
    end
    end
    Zeile 116: Zeile 53:
    --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 imageLink( frame )
    function imageLink( frame )
         return getImageLink( string.upper(frame.args[1]), frame.args["width"])
         return getImageLink(frame.args[1], frame.args["width"])
    end
    end
       
       
    Zeile 129: Zeile 66:
         getProperty = getProperty,
         getProperty = getProperty,
         getImageLink = getImageLink,
         getImageLink = getImageLink,
         getLabel = getLabel,
         getLabel = getLabel
        getLinkLabels = getLinkLabels,
    }
    }
    Bitte kopiere keine Webseiten, die nicht deine eigenen sind, benutze keine urheberrechtlich geschützten Werke ohne Erlaubnis des Urhebers!
    Du gibst uns hiermit deine Zusage, dass du den Text selbst verfasst hast, dass der Text Allgemeingut (public domain) ist, oder dass der Urheber seine Zustimmung gegeben hat. Falls dieser Text bereits woanders veröffentlicht wurde, weise bitte auf der Diskussionsseite darauf hin. Bitte beachte, dass alle Android Wiki-Beiträge automatisch unter der „Creative Commons Attribution/Share-Alike Lizenz 3.0“ stehen. Falls du nicht möchtest, dass deine Arbeit hier von anderen verändert und verbreitet wird, dann klicke nicht auf „Seite speichern“.

    Um das Wiki vor automatisiertem Bearbeitungsspam zu schützen, bitten wir dich, das folgende CAPTCHA zu lösen:

    Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)
    Vorschau der Seite mit dieser Vorlage anzeigen

    Die folgende Vorlage wird auf dieser Seite verwendet: