Modul: GetKurztitel: Unterschied zwischen den Versionen

Aus Zweidat
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „local p = {} function p.renderTab(frame) local args = frame.args local pageTitle = args[1] or '' local tabNumber = args[2] or '' -- Get the Kurztitel property value using SMW query local smwQuery = mw.smw.ask({ '' .. pageTitle .. '', '?Kurztitel' }) local kurztitel = '' if smwQuery and smwQuery[1] and smwQuery[1]['Kurztitel'] then kurztitel = smwQuery[1]['Kurztitel'][1] end…“)
 
Keine Bearbeitungszusammenfassung
Zeile 12: Zeile 12:
     })
     })
      
      
    -- Set default value for kurztitel if query returns no results
     local kurztitel = ''
     local kurztitel = ''
     if smwQuery and smwQuery[1] and smwQuery[1]['Kurztitel'] then
     if smwQuery and smwQuery[1] and smwQuery[1].printouts and smwQuery[1].printouts.Kurztitel then
         kurztitel = smwQuery[1]['Kurztitel'][1]
         kurztitel = smwQuery[1].printouts.Kurztitel[1] or ''
     end
     end
   
    -- Ensure tabNumber is treated as string
    tabNumber = tostring(tabNumber)
      
      
     -- Generate the HTML based on whether this is the first/active tab
     -- Generate the HTML based on whether this is the first/active tab
     if tabNumber == '1' then
     if tabNumber == '1' then
         return string.format(
         return mw.ustring.format(
             '<li class="nav-item"><btn id="tab-%s-label" data-toggle="tab" class="nav-link active" role="tab" aria-controls="#tab-%s" aria-selected="true">#tab-%s|%s</btn></li>',
             '<li class="nav-item"><btn id="tab-%s-label" data-toggle="tab" class="nav-link active" role="tab" aria-controls="#tab-%s" aria-selected="true">#tab-%s|%s</btn></li>',
             tabNumber, tabNumber, tabNumber, kurztitel
             tabNumber, tabNumber, tabNumber, kurztitel or ''
         )
         )
     else
     else
         return string.format(
         return mw.ustring.format(
             '<li><btn id="#tab-%s" data-toggle="tab" class="nav-link" role="tab" aria-controls="#tab-%s" aria-selected="false">#tab-%s|%s</btn></li>',
             '<li><btn id="#tab-%s" data-toggle="tab" class="nav-link" role="tab" aria-controls="#tab-%s" aria-selected="false">#tab-%s|%s</btn></li>',
             tabNumber, tabNumber, tabNumber, kurztitel
             tabNumber, tabNumber, tabNumber, kurztitel or ''
         )
         )
     end
     end

Version vom 28. Oktober 2024, 11:24 Uhr

Die Dokumentation für dieses Modul kann unter Modul:GetKurztitel/Doku erstellt werden

local p = {}

function p.renderTab(frame)
    local args = frame.args
    local pageTitle = args[1] or ''
    local tabNumber = args[2] or ''
    
    -- Get the Kurztitel property value using SMW query
    local smwQuery = mw.smw.ask({
        '[[' .. pageTitle .. ']]',
        '?Kurztitel'
    })
    
    -- Set default value for kurztitel if query returns no results
    local kurztitel = ''
    if smwQuery and smwQuery[1] and smwQuery[1].printouts and smwQuery[1].printouts.Kurztitel then
        kurztitel = smwQuery[1].printouts.Kurztitel[1] or ''
    end
    
    -- Ensure tabNumber is treated as string
    tabNumber = tostring(tabNumber)
    
    -- Generate the HTML based on whether this is the first/active tab
    if tabNumber == '1' then
        return mw.ustring.format(
            '<li class="nav-item"><btn id="tab-%s-label" data-toggle="tab" class="nav-link active" role="tab" aria-controls="#tab-%s" aria-selected="true">#tab-%s|%s</btn></li>',
            tabNumber, tabNumber, tabNumber, kurztitel or ''
        )
    else
        return mw.ustring.format(
            '<li><btn id="#tab-%s" data-toggle="tab" class="nav-link" role="tab" aria-controls="#tab-%s" aria-selected="false">#tab-%s|%s</btn></li>',
            tabNumber, tabNumber, tabNumber, kurztitel or ''
        )
    end
end

return p