{"id":229472,"date":"2022-11-17T18:56:00","date_gmt":"2022-11-17T15:56:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229472"},"modified":"2022-11-17T18:57:14","modified_gmt":"2022-11-17T15:57:14","slug":"wordpressi-mallid-algajatele-mis-on-ikkagi-mallimine","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/wordpressi-mallid-algajatele-mis-on-ikkagi-mallimine\/","title":{"rendered":"WordPressi mallid algajatele: mis on ikkagi mallimine?"},"content":{"rendered":"\n<p>Kui r\u00e4\u00e4gime mallidest, selle kohta, kas selle mallid on WordPressi, JavaScripti mallid v\u00f5i m\u00f5nes muus keeles, siis arvan, et on kasulik kasutada konkreetset projekti v\u00f5i n\u00e4idet selle toimimise l\u00e4bivaatamiseks, selle asemel et r\u00e4\u00e4kida sellest esoteerilisemas terminis.<\/p>\n<p>Kui te pole seda sarja j\u00e4lginud ja mallide loomisega alles alustate, soovitan lugeda sarja kaks esimest osa:<\/p>\n<ol>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/et\/wordpressi-mallid-algajatele-kuidas-see-on\/\" title=\"Kuidas see on\">Kuidas see on<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/et\/wordpressi-mallid-algajatele-html-i-kutsumine-php-le\/\" title=\"HTML kutsumine PHP-le\">HTML kutsumine PHP-le<\/a><\/li>\n<\/ol>\n<p>Sealt edasi jagame kontseptsiooni kaheks osaks:<\/p>\n<ol>\n<li>m\u00f5ista, mis on mallid,<\/li>\n<li>kuidas mallid WordPressis toimivad.<\/li>\n<\/ol>\n<p>V\u00e4ljakutse tuleb muidugi selles, et meil on &quot;WordPressi mallid&quot; ja siis r\u00e4\u00e4gime mallimootori kasutamisest WordPressi mallide muutmiseks, kuidas need t\u00f6\u00f6tavad, kuidas neisse andmeid sisestatakse ja nii edasi.<\/p>\n<p>Kuid ma annan endast parima, et iga osa selgeks teha.<\/p>\n<h2>WordPressi mallid (kuid mitte mallid)<\/h2>\n<p>Kui r\u00e4\u00e4kida mallidest, on kasulik mallide v\u00f5i mallimootorite t\u00f6\u00f6definitsioon. T\u00f5de on see, et mallide loomine toimub mallimootori abil.<\/p>\n<h3>T\u00f6\u00f6tav definitsioon<\/h3>\n<p>Mallimootori \u00fcldine m\u00e4\u00e4ratlus <a href=\"https:\/\/en.wikipedia.org\/wiki\/Template_processor\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">on<\/a> j\u00e4rgmine:<\/p>\n<blockquote>\n<p>Malliprotsessor (tuntud ka kui mallimootor v\u00f5i malliparser) on tarkvara, mis on loodud mallide kombineerimiseks andmemudeliga tulemusedokumentide koostamiseks.<\/p>\n<\/blockquote>\n<p>Ja kuigi see on t\u00e4pne, on see \u00fcldkontseptsiooni selgitamiseks minu arvates veidi s\u00f5nakas v\u00f5i keerulisem kui vaja. V\u00f5ib-olla saame v\u00e4lja t\u00f6\u00f6tada j\u00e4rgmise m\u00e4\u00e4ratluse:<\/p>\n<blockquote>\n<p>Mallimootor kasutab s\u00fcntaksit andmete sisestamiseks dokumenti.<\/p>\n<\/blockquote>\n<p>See on t\u00f5esti \u00fcldine ja uurime hetkeks PHP-d, kuid k\u00f5igepealt tahtsin anda p\u00f5hilise toimiva definitsiooni ja siis sealt edasi minna, kuna malli saab kasutada paljudes erinevates keeltes.<\/p>\n<p>Lisaks on oluline m\u00f5ista, et hea mallimootor tagab sageli turvalisuse, paindlikkuse ja potentsiaalselt isegi &quot;liivakastire\u017eiimi&quot;, mille puhul testime koodi enne selle tootmisse juurutamist.<\/p>\n<h3>Kuidas mallide loomine v\u00e4lja n\u00e4eb?<\/h3>\n<p>Erinevate s\u00fcntaksite olemuse t\u00f5ttu n\u00e4eb mallide loomine v\u00e4lja veidi erinev, kuid \u00fcks populaarne PHP mallimootor kannab nime <a href=\"https:\/\/twig.symfony.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Twig<\/a>. Seega v\u00f5ib Twigi kasutavate PHP-p\u00f5histe mallide konkreetne n\u00e4ide v\u00e4lja n\u00e4ha umbes <a href=\"https:\/\/gist.github.com\/tommcfarlin\/2c02b22272f645076f7f735bd61a4034#file-03-twig-example-twig\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">selline:<\/a><\/p>\n<pre><code>{% extends \"base.twig\" %}\n{% block content %}\n    &lt;h1 class=\"big-title\"&gt;{{foo}}&lt;\/h1&gt;\n    &lt;h2&gt;{{post.title}}&lt;\/h2&gt;\n    &lt;img src=\"{{post.thumbnail.src}}\" \/&gt;\n    &lt;div class=\"body\"&gt; {{post.content}} &lt;\/div&gt;\n{% endblock %}<\/code><\/pre>\n<p>Nagu n\u00e4ete, on see pisut erinev sellest, mida me kasutame m\u00e4rgistuse, HTML-i, PHP-m\u00e4rgendite jms puhul, kuigi on endiselt mallimootori jaoks ainulaadseid silte.<\/p>\n<p>Isegi kui olete objektide m\u00f5istetega tuttav, n\u00e4ete, kuidas p\u00e4\u00e4sete neile juurde malli kontekstis, kasutades punktim\u00e4rki, mitte mis tahes t\u00e4histus- v\u00f5i funktsioonikutseid, mida olete PHP-dokumendis harjunud kasutama. .<\/p>\n<h2>Kas WordPressi mallimootoreid on olemas?<\/h2>\n<p>Jah ja ei. Ma m\u00f5tlen, et WordPressi kontekstis on mallimootorite kasutamiseks v\u00f5imalusi, kuid ma ei saa \u00f6elda, et WordPressi jaoks on olemas kindel malli. M\u00f5ned n\u00e4ited asjadest, mida v\u00f5iksite kontrollida (enne j\u00e4rgmise postituse lugemist), on j\u00e4rgmised:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/viniwrubleski\/jade-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Jade-PHP<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/cjonasw\/wordpress-starter-theme-mustache\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Vuntsid<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/zach-adams\/sprig-foundation\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Oks<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/jenssegers\/blade\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Tera<\/a><\/li>\n<\/ul>\n<p>Kuid on ka teisi v\u00f5imalusi.<\/p>\n<p>Kuid t\u00f5en\u00e4oliselt kasutan j\u00e4rgmise postituse jaoks midagi sellist nagu <a href=\"https:\/\/www.upstatement.com\/timber\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Timber .<\/a><\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>WordPressi malle saab mallimootori kasutamisel lihtsamaks muuta. Mis on aga mallimootor ja millist rolli see WordPressi arendamisel m\u00e4ngida saab?<\/p>\n","protected":false},"author":1,"featured_media":165473,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,916,842,926,863],"tags":[1165],"class_list":["post-229472","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-muud","category-opetused","category-teemasid","category-wordpress-4","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/229472","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/comments?post=229472"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/229472\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/165473"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=229472"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=229472"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=229472"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}