Een beginnershandleiding voor Titan Framework een optie voor een codetype toevoegen

Soms willen ontwikkelaars tijdens het bouwen van een plug-in of een thema eindgebruikers de mogelijkheid bieden om aangepaste code toe te voegen. Vandaag zal ik bespreken hoe ik het kan toevoegen code typ de optie met Titan Framework, waarmee u een editor kunt maken waarin u aangepaste codes kunt toevoegen. Laten we er eens naar kijken!

De codetype-optie in Titan Framework

In Titan Framework is het mogelijk om een ​​tekstgebied te creëren voor het invoeren van de code via zijn code type optie. Het tekstgebied ondersteunt syntaxisaccentuering, dus in welke taal u ook codeert, de bijbehorende markering wordt gebruikt. Deze optie kan CSS en JavaScript automatisch in wachtrij plaatsen. Hoe cool is dat? In uw dashboard ziet het er als volgt uit:

Laten we de parameters van deze optie bekijken:

  • naam: Het specificeert de weergavenaam van deze optie.
  • ID kaart: Het wijst een unieke naam toe die opgeslagen waarden ophaalt.
  • desc: Het voegt een beschrijving in één regel toe met de naam van de optie.
  • standaard(Optioneel) Hiermee wordt de standaardwaarde van de optie ingesteld.
  • live voorvertoning: (Optioneel) Telkens wanneer u een toevoegt code type optie in een thema customizer sectie, je krijgt een live preview van veranderingen te zien met deze parameter.
  • LANG: (Optioneel) Deze parameter definieert de taal die wordt gebruikt voor het markeren van syntaxis. De standaardinstelling is ingesteld op css. Hier is een lijst met alle ondersteunde talen.
  • thema: (Optioneel) U kunt het kleurthema instellen met deze parameter. De standaard is chroom. Hier is een lijst met alle ondersteunde thema's.
  • hoogte: (Optioneel) Hiermee wordt de hoogte van de code-editor geconfigureerd. De standaard hoogte is 200 px.

Alle parameters zijn draad op type, behalve 'hoogte' welke is int.

Beschikbare containers voor de codetype-optie

U kunt deze optie toevoegen aan: 

  • Administratie Paneel
  • Admin-tabbladen
  • Metabox
  • Thema Customizer-gedeelte

U kunt deze optie in de containers toevoegen door deze stappen te volgen:

  • Krijg eerst een instantie via de getInstance () functie.
  • Voeg vervolgens een optie toe via de createOption () functie.
  • Tenslotte, krijg opgeslagen optiewaarden via de GetOption () functie.

Om je concepten over het maken van containers met Titan Framework te herzien, lees je de vorige artikelen van deze serie.

Een codetypeoptie maken in een beheerdersdashboard

Voorbeeldverklaring

Laten we deze optie eerst in een beheerdersvenster maken.

createOption (array ('id' => 'aa_code_opt', // De ID die wordt gebruikt om de waarde van deze optie te krijgen 'type' => 'code', // Type optie we maken 'naam' => 'Voer aangepaste code in', // Naam van de optie die wordt weergegeven in het admin-paneel 'desc' => 'Dit is onze optie', // Beschrijving van de optie die wordt weergegeven in het admin-paneel 'lang' = > 'css' // Taal gebruikt voor syntax highlighting)); 

Ik heb de optie gemaakt met de createOption () functie in regel # 7 om een ​​toe te voegen code typ optie in een aangepaste beheerderspaneelcontainer $ aa_panel. Ik heb een lijst met parameters gedefinieerd: naam, id, type, lang en desc. De waarde van ID moet altijd uniek zijn, d.w.z.. aa_code_opt. De waarde van LANG is css, wat betekent dat de syntax highlighting van CSS wordt toegepast.

In de bovenstaande schermafbeelding bestaat een beheerdersvensterNette opties en daarbinnen, kun je een vinden code type optie met de naam Voer de aangepaste code in.

Voorbeeldgebruik

Nu krijg ik de opgeslagen waarden.

Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas sempre. Aenean ultrences mi vitae est. Mauris placerat eleifend leo. Quisque zit op amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus

De code type optie kan worden gebruikt om eindgebruikers toe te staan ​​om aangepaste CSS / JS-code toe te voegen aan het thema of de plug-in. Dus als ik dit voorbeeld overweeg, laat ik je dan zien hoe het werkt.

Titan Framework zal automatisch uw code in wachtrij plaatsen in overeenstemming met wat u kiest als de waarde van de LANGparameter. Als het is ingesteld op css of javascript, een CSS- of een JS-bestand met de gebruikerscode wordt in de wachtrij geplaatst. 

Als de waarde van de LANGparameter is css, het zal een CSS-bestand in de wacht slepen met mijn aangepaste code. Ik hoef niets anders te doen. Kijk naar de bovenstaande code - het heeft een div met klasse aa_content en dummy tekst erin.

Resultaat weergeven aan de voorkant

In deze fase ziet mijn front-end er als volgt uit:

Ik heb mijn aangepaste CSS ingevoerd voor .aa_content klasse in de code optie in het dashboard.

Dat div met .aa_content de klasse aan de voorkant werd als volgt gestyled:

De veranderingen zijn vrij zichtbaar in de bovenstaande screenshot.

Een codetype-optie aanmaken op een beheerders-tabblad

Voorbeeldverklaring

Vervolgens maak ik deze optie op een admin-tabblad.

createOption (array ('id' => 'aa_code_opt_in_tab', // De ID die wordt gebruikt om de waarde van deze optie te krijgen 'type' => 'code', // Type optie we maken 'naam' => 'Voer aangepaste code in', // Naam van de optie die wordt weergegeven in het admin-paneel 'desc' => 'Dit is onze optie', // Beschrijving van de optie die wordt weergegeven in het admin-paneel 'lang' = > 'css' // Taal gebruikt voor syntax highlighting)); 

Hier voeg ik deze optie toe op een admin-tabblad $ aa_tab1.  De waarde van zijn ID is aa_code_opt_in_tab en LANG is css.

In de afbeelding is er een code typ optie binnen Tab 1 van paneel Nette opties 2.

Voorbeeldgebruik

Laten we de opgeslagen optiewaarden ophalen.

Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas sempre. Aenean ultrences mi vitae est. Mauris placerat eleifend leo. Quisque zit op amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus

Wederom een ​​div-tag met .aa_content klasse en een alinea van dummy-tekst.

Resultaat weergeven aan de voorkant

Om resultaten aan de voorkant weer te geven, heb ik aangepaste CSS-code toegevoegd en opgeslagen.

Nu ziet het front-end er als volgt uit:

Een codetype-optie creëren in een metabox

Voorbeeldverklaring

Nu maak ik deze optie in een metabox.

createOption (array ('id' => 'aa_code_opt_in_metabox', // De ID die wordt gebruikt om de waarde van deze optie te krijgen 'type' => 'code', // Type optie we maken 'naam' => 'Enter Custom Code', // Naam van de optie die wordt weergegeven 'desc' => 'Dit is onze optie', // Beschrijving van de optie die wordt weergegeven 'lang' => 'css' // Gebruikte taal voor syntax highlighting)); 

Ik voeg er nog een toe code type optie in een metabox $ aa_metbox met ID aa_code_opt_in_metabox. De rest van de parameters zijn hetzelfde. 

U kunt deze optie vinden in een metabox met de naam Metabox-opties. Het verschijnt op alle pagina's en na bewerkingsschermen.

Voorbeeldgebruik

Gebruik de volgende code om opgeslagen waarden uit een metabox te halen.

Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas sempre. Aenean ultrences mi vitae est. Mauris placerat eleifend leo. Quisque zit op amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus

Dezelfde dummy-tekst met .aa_content klasse in een div-tag.

Resultaat weergeven aan de voorkant

Deze keer heb ik de volgende code gebruikt.

De voorkant ziet er als volgt uit:

Een codetype-optie creëren in een thema-aanpassergedeelte

Voorbeeldverklaring

Ten slotte maak ik deze optie in een themaaanpassingsgedeelte.

createOption (array ('id' => 'aa_code_opt_in_sec', // De ID die wordt gebruikt om de waarde van deze optie te krijgen 'type' => 'code', // Type optie we maken 'naam' => 'Enter Custom Code', // Naam van de optie die wordt weergegeven 'desc' => 'Dit is onze optie', // Beschrijving van de optie die wordt weergegeven 'lang' => 'css' // Gebruikte taal voor syntax highlighting)); 

Ik heb deze optie gemaakt in een gedeelte voor het aanpassen van een thema $ aa_section1. De unieke ID is aa_code_opt_in_sec

In deze afbeelding is er een code type optie met de naam Voer de aangepaste code in in een customizer-gedeelte Mijn sectie.

Voorbeeldgebruik

Deze keer voeg ik de klas toe .aa_content in de div-tag van een enkele post.

Resultaat weergeven aan de voorkant 

Hier is een screenshot van de live voorvertoning van wijzigingen.

Conclusie

Dat is het zo'n beetje. Hoewel er een groot debat is over de vraag of een aangepaste code moet worden geboden met de mogelijkheid om aangepaste CSS toe te voegen of niet, is er een belangrijk voordeel als u.

Op deze manier worden de aanpassingen of de aangepaste code door de eindgebruikers opgeslagen in de optiedatabase in plaats van te worden geschreven in de themabestanden, dus wanneer ze hun thema's bijwerken, zouden de wijzigingen er nog steeds zijn.

Als je vragen hebt, kun je me dit laten weten via de reacties of contact opnemen via Twitter.