Extra zoekvenster: verschil tussen versies
(→Code bij gebruik van raw-html) |
(→Meervoudige zoekvensters) |
||
(16 tussenliggende versies door dezelfde gebruiker niet weergegeven) | |||
Regel 20: | Regel 20: | ||
De vormgeving bij deze voorbeeld-code is gebaseerd op Bootstrap: | De vormgeving bij deze voorbeeld-code is gebaseerd op Bootstrap: | ||
<pre> | <pre> | ||
− | <html><form class="" action="/w/index.php" id="searchform"> | + | <html><form class="" action="/w/index.php" id="searchform-1"> |
<div class="form-group input-group"> | <div class="form-group input-group"> | ||
<span class="input-group-addon"><i class="glyphicon glyphicon-search"></i></span> | <span class="input-group-addon"><i class="glyphicon glyphicon-search"></i></span> | ||
Regel 32: | Regel 32: | ||
Het resultaat is als volgt (NB: alleen als <code>$wgRawHtml = true;</code> in LocalSettings.php | Het resultaat is als volgt (NB: alleen als <code>$wgRawHtml = true;</code> in LocalSettings.php | ||
− | <html><form class="" action="/w/index.php" id="searchform"> | + | <html><form class="" action="/w/index.php" id="searchform-1"> |
<div class="form-group input-group"> | <div class="form-group input-group"> | ||
<span class="input-group-addon"><i class="glyphicon glyphicon-search"></i></span> | <span class="input-group-addon"><i class="glyphicon glyphicon-search"></i></span> | ||
Regel 47: | Regel 47: | ||
<pre> | <pre> | ||
... | ... | ||
− | <div class="input-group input-group-lg"> | + | <div class="input-group input-group-lg" style="width:80%"> |
... | ... | ||
</pre> | </pre> | ||
− | <html><form class="" action="/w/index.php" id="searchform"> | + | <html><form class="" action="/w/index.php" id="searchform-2"> |
− | <div class="input-group input-group-lg"> | + | <div class="input-group input-group-lg" style="width: 80%;"> |
+ | <span class="input-group-addon"><i class="glyphicon glyphicon-search"></i></span> | ||
+ | <input id="searchInput" type="search" class="search-query form-control" type="search" accesskey="f" title="Speciaal:Zoeken [ctrl-option-f]" placeholder="Zoeken" name="search" value="" autocomplete="off"> | ||
+ | <span class="input-group-btn"> | ||
+ | <button class="btn btn-default" type=“submit” id="mw-searchButton" >OK</button> | ||
+ | </span> | ||
+ | </div><!-- /input-group --> | ||
+ | </form></html> | ||
+ | De <code>input-group</code> centreren en de breedte ''responsive'' maken kan door het gebruik maken van <code>.col-</code> classes: | ||
+ | |||
+ | <html><form class="" action="/w/index.php" id="searchform-3"> | ||
+ | <div class="input-group input-group-lg col-sm-12 col-md-8 col-md-offset-2"> | ||
<span class="input-group-addon"><i class="glyphicon glyphicon-search"></i></span> | <span class="input-group-addon"><i class="glyphicon glyphicon-search"></i></span> | ||
− | |||
<input id="searchInput" type="search" class="search-query form-control" type="search" accesskey="f" title="Speciaal:Zoeken [ctrl-option-f]" placeholder="Zoeken" name="search" value="" autocomplete="off"> | <input id="searchInput" type="search" class="search-query form-control" type="search" accesskey="f" title="Speciaal:Zoeken [ctrl-option-f]" placeholder="Zoeken" name="search" value="" autocomplete="off"> | ||
<span class="input-group-btn"> | <span class="input-group-btn"> | ||
Regel 62: | Regel 72: | ||
</div><!-- /input-group --> | </div><!-- /input-group --> | ||
</form></html> | </form></html> | ||
+ | |||
+ | <html><form class="" action="/w/index.php" id="searchform-4"> | ||
+ | <div class="input-group input-group-lg col-sm-12 col-md-8 col-md-offset-2"> | ||
+ | <input id="searchInput" type="search" class="search-query form-control" type="search" accesskey="f" title="Speciaal:Zoeken [ctrl-option-f]" placeholder="Zoeken" name="search" value="" autocomplete="off"> | ||
+ | <span class="input-group-btn"> | ||
+ | <button class="btn btn-success" type=“submit” id="mw-searchButton" ><i class="glyphicon glyphicon-search"></i></button> | ||
+ | </span> | ||
+ | </div><!-- /input-group --> | ||
+ | </form></html> | ||
+ | |||
+ | Beperkt aanpassen van vormgeving met <code>style</code>-elementen: | ||
+ | |||
+ | <html><form class="" action="/w/index.php" id="searchform-5"> | ||
+ | <div class="input-group input-group-lg col-sm-12 col-md-8 col-md-offset-2"> | ||
+ | <span class="input-group-addon" style="border-color: #AC0021; background-color: #BC0031; color: white;"><i class="glyphicon glyphicon-search"></i></span> | ||
+ | <input id="searchInput" type="search" class="search-query form-control" style="border-color: #BC0031;" type="search" accesskey="f" title="Speciaal:Zoeken [ctrl-option-f]" placeholder="Zoeken" name="search" value="" autocomplete="off"> | ||
+ | <span class="input-group-btn" > | ||
+ | <button class="btn btn-primary" style="border-color: #BC0031;" type=“submit” id="mw-searchButton" >OK</button> | ||
+ | </span> | ||
+ | </div><!-- /input-group --> | ||
+ | </form></html> | ||
+ | |||
+ | === Meervoudige zoekvensters === | ||
+ | |||
+ | Meervoudig zoekvenster voor het zoeken op eigenschap (alleen Semantic MediaWiki - bron [https://theaterencyclopedie.nl/wiki/Widget:BS-SMW-zoeken-test8 TheaterEncyclopedie] | ||
+ | |||
+ | <pre> | ||
+ | <form class="navbar-form navbar-right" action="/w/index.php" id="semanticsearchform"> | ||
+ | <div class="input-group"> | ||
+ | <span class="input-group-addon">1</span> | ||
+ | <input id="semanticsearchInput0" type='hidden' name='title' value='Speciaal:OpEigenschapZoeken'/> | ||
+ | <input id="semanticsearchInput1" type="search" class="search-query form-control" placeholder="Eigenschap" title="Speciaal:EigenschapZoeken" name="property" value="" autocomplete="off"/> | ||
+ | <span class="input-group-addon">2</span> | ||
+ | <input id="semanticsearchInput2" type=“search" class="search-query form-control" placeholder="Selectiewaarde" name="value" value="" autocomplete="off"/> | ||
+ | <span class="input-group-btn"> | ||
+ | <button class="btn btn-default" type="submit" id="smw-searchButton" >OK</button> | ||
+ | </span> | ||
+ | </div><!-- /input-group --> | ||
+ | </form></pre> | ||
+ | |||
+ | Met een <code>select</code> kun je een meerkeuze invulveld realiseren. '''NB:''' Dit is ''geen standaard'' Bootstrap 3. Er is handmatig extra styling toegevoegd. | ||
+ | |||
+ | <html> | ||
+ | <style> | ||
+ | .custom-select { | ||
+ | display: inline-block; | ||
+ | width: 100%; | ||
+ | height: 34px; //calc(2.25rem + 2px); - aangepast door BM | ||
+ | padding: 0.375rem 1.75rem 0.375rem 0.75rem; | ||
+ | line-height: 1.5; | ||
+ | color: #495057; | ||
+ | vertical-align: middle; | ||
+ | background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center; | ||
+ | background-size: 8px 10px; | ||
+ | border: 1px solid #ced4da; | ||
+ | border-radius: 0.25rem; | ||
+ | -webkit-appearance: none; | ||
+ | -moz-appearance: none; | ||
+ | appearance: none; | ||
+ | } | ||
+ | |||
+ | .custom-select:focus { | ||
+ | border-color: #80bdff; | ||
+ | outline: 0; | ||
+ | box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(128, 189, 255, 0.5); | ||
+ | } | ||
+ | |||
+ | .custom-select:focus::-ms-value { | ||
+ | color: #495057; | ||
+ | background-color: #fff; | ||
+ | } | ||
+ | |||
+ | .custom-select[multiple], .custom-select[size]:not([size="1"]) { | ||
+ | height: auto; | ||
+ | padding-right: 0.75rem; | ||
+ | background-image: none; | ||
+ | } | ||
+ | |||
+ | .custom-select:disabled { | ||
+ | color: #6c757d; | ||
+ | background-color: #e9ecef; | ||
+ | } | ||
+ | |||
+ | .custom-select::-ms-expand { | ||
+ | opacity: 0; | ||
+ | } | ||
+ | |||
+ | .custom-select-sm { | ||
+ | height: calc(1.8125rem + 2px); | ||
+ | padding-top: 0.375rem; | ||
+ | padding-bottom: 0.375rem; | ||
+ | font-size: 75%; | ||
+ | } | ||
+ | |||
+ | .custom-select-lg { | ||
+ | height: calc(2.875rem + 2px); | ||
+ | padding-top: 0.375rem; | ||
+ | padding-bottom: 0.375rem; | ||
+ | font-size: 125%; | ||
+ | } | ||
+ | </style> | ||
+ | <form class="" action="/w/index.php" id="semanticsearchform"> | ||
+ | <div class="input-group col-sm-12 col-md-8 col-md-offset-2"> | ||
+ | <span class="input-group-addon">1</span> | ||
+ | <input id="semanticsearchInput0" type='hidden' name='title' value='Speciaal:OpEigenschapZoeken'/> | ||
+ | |||
+ | <select class="custom-select form-control" id="inputGroupSelect02" name="property"> | ||
+ | <option selected disabled>Kies eigenschap...</option> | ||
+ | <option value="Adlib">Adlib</option> | ||
+ | <option value="Afbeelding">Afbeelding</option> | ||
+ | <option value="Beroep">Beroep</option> | ||
+ | <option value="Bijnaam">Bijnaam</option> | ||
+ | <option value="DBNL">DBNL</option> | ||
+ | <option value="Discipline">Discipline</option> | ||
+ | <option value="Geboortedatum">Geboortedatum</option> | ||
+ | <option value="Geboorteplaats">Geboorteplaats</option> | ||
+ | <option value="IMDB">IMDB</option> | ||
+ | <option value="Naam">Naam</option> | ||
+ | <option value="Overlijdensdatum">Overlijdensdatum</option> | ||
+ | <option value="Overlijdensplaats">Overlijdensplaats</option> | ||
+ | <option value="Sorteernaam">Overlijdensplaats</option> | ||
+ | <option value="VIAF">VIAF</option> | ||
+ | <option value="Categorieën">Categorieën</option> | ||
+ | <option value="Wijzigingsdatum">Wijzigingsdatum</option> | ||
+ | </select> | ||
+ | |||
+ | <span class="input-group-addon">2</span> | ||
+ | <input id="semanticsearchInput2" type=“search" class="search-query form-control" placeholder="Selectiewaarde" name="value" value="" autocomplete="off"/> | ||
+ | <span class="input-group-btn"> | ||
+ | <button class="btn btn-default" type="submit" id="smw-searchButton" >OK</button> | ||
+ | </span> | ||
+ | </div><!-- /input-group --> | ||
+ | </form></html> | ||
+ | |||
+ | == Zie ook == | ||
+ | * Extra [[Google Custom Search Engine|zoekvenster met behulp van GCSE]] | ||
+ | * Extra [[DuckDuckGo zoekformulier|zoekvenster voor DuckDuckGo]] |
Huidige versie van 10 apr 2019 om 16:21
De meeste skins voor MediaWiki voorzien in een zoekvenster. Toch is een veel voorkomende vraag naar zoekvensters op flexibele plaatsen in de wikitekst zelf. Standaard voorziet MediaWiki niet in deze behoefte.
Inhoud
Verschillende realisatiemogelijkheden
Er is een drietal verschillende mogelijkheden om een extra zoekvenster te maken:
- Via de extensie Inputbox
- Met behulp van de extensie Widgets
- Met behulp van de extensie waarmee "raw html" mogelijk wordt gemaakt.
Benodigde code
Code bij gebruik van widget
Zie enkele operationele voorbeelden:
- Standaard zoeken widget op de TheaterEncyclopedie
- Semantisch zoeken widget op de TheaterEncyclopedie
Code bij gebruik van raw-html
De vormgeving bij deze voorbeeld-code is gebaseerd op Bootstrap:
<html><form class="" action="/w/index.php" id="searchform-1"> <div class="form-group input-group"> <span class="input-group-addon"><i class="glyphicon glyphicon-search"></i></span> <input id="searchInput" type="search" class="search-query form-control" type="search" accesskey="f" title="Speciaal:Zoeken [ctrl-option-f]" placeholder="Zoeken" name="search" value="" autocomplete="off"> <span class="input-group-btn"> <button class="btn btn-default" type=“submit” id="mw-searchButton" >OK</button> </span> </div><!-- /input-group --> </form></html>
Het resultaat is als volgt (NB: alleen als $wgRawHtml = true;
in LocalSettings.php
De class="form-group"
is/lijkt niet noodzakelijk
De grootte kan aangepast worden met een extra class
voor de input-group
:
... <div class="input-group input-group-lg" style="width:80%"> ...
De input-group
centreren en de breedte responsive maken kan door het gebruik maken van .col-
classes:
Beperkt aanpassen van vormgeving met style
-elementen:
Meervoudige zoekvensters
Meervoudig zoekvenster voor het zoeken op eigenschap (alleen Semantic MediaWiki - bron TheaterEncyclopedie
<form class="navbar-form navbar-right" action="/w/index.php" id="semanticsearchform"> <div class="input-group"> <span class="input-group-addon">1</span> <input id="semanticsearchInput0" type='hidden' name='title' value='Speciaal:OpEigenschapZoeken'/> <input id="semanticsearchInput1" type="search" class="search-query form-control" placeholder="Eigenschap" title="Speciaal:EigenschapZoeken" name="property" value="" autocomplete="off"/> <span class="input-group-addon">2</span> <input id="semanticsearchInput2" type=“search" class="search-query form-control" placeholder="Selectiewaarde" name="value" value="" autocomplete="off"/> <span class="input-group-btn"> <button class="btn btn-default" type="submit" id="smw-searchButton" >OK</button> </span> </div><!-- /input-group --> </form>
Met een select
kun je een meerkeuze invulveld realiseren. NB: Dit is geen standaard Bootstrap 3. Er is handmatig extra styling toegevoegd.