Hvem er en Sysadmin? En kombination af paneler, visninger og Bootstrap Framework-moduler.

Hej alle sammen. Jeg besluttede at implementere et katalog i Drupal 7. Målet var at skabe det uden Ubercart og Commerce modulerne. Selvfølgelig forstår jeg, at du også kan lave et katalog ud af dem, men jeg forstår ikke, hvorfor du skal trække så meget venstrefelts funktionalitet ud.

Jeg gik selvfølgelig ind på Google og gravede oplysninger frem. Som det viste sig, på engelsksprogede websteder, brugte alle de løsninger, der blev foreslået, Ubercart og Commerce på den ene eller anden måde. Blandt de russisktalende var der kun én værdig: "Avanceret katalog for Drupal 7". Jeg prøvede det, jeg kunne lide det, men det har nogle ulemper:

  1. Det vigtigste er umuligheden af ​​at angive aliaser for adresser. Dem. Katalogsektioner har et hårdt adressekatalog/%TID.
  2. Behovet for at aktivere PHP-filteret. Jeg forsøger at undgå at aktivere dette modul, for hvis siden administreres af skæve mennesker, så er dette filter simpelthen et sikkerhedshul.
  3. Materialetyperne (til filtre) formerer sig. Jeg har ikke prøvet det, så jeg kan ikke sige med sikkerhed om problemet. De to første var nok til, at jeg opgav det.

Jeg prøvede en masse muligheder på Views alene. Der var endda arbejdere, men deres fleksibilitet var tvivlsom. Som et resultat heraf var løsningen på alle problemer kombinationen Views & Panels. Det er præcis, hvad jeg vil tale om.

P.s. Det, der er sløret på skærmbillederne, er standardindstillingerne (ikke ændret).

Forberedelse

Ikke overraskende, for at oprette en mappe skal du bruge visninger, paneler og selvfølgelig Ctools. Omfatte:

  • Kaos værktøjer
  • Sidemanager
  • Viser indholdsruder
  • Paneler
  • Views & Views UI

For at begynde skal du oprette en taksonomiordbog kaldet "Directory Categories" (eller hvad du nu kan lide). Tilføj de nødvendige kategorier.

Opret nu en ny materialetype (for eksempel "produkt"), der vil blive tilføjet til kataloget, og tilføj et "Term reference"-felt til det, der refererer til din "Katalogkategorier"-ordbog. Tilføj også et par produkter for at se resultaterne.

Oprettelse af visninger

Oprettelse af en hjemmemappe

Det kunne ikke være nemmere her.

  • Klik på "Tilføj ny visning"
  • Angiv navnet "Katalog"
  • Vise: Taksonomi udtryk af typen "Katalogkategorier"
  • Marker feltet "Opret en side", og udfyld det.
  • Sidetitel: Katalog
  • Sti: katalog
  • Klik på knappen "Fortsæt og rediger".
  • Vi laver det nødvendige Format. For eksempel "Tabel".
  • Klik på "tilføj" i afsnittet Filterkriterier.
  • Vælg "Taxonomy term: Parent term" og klik på "Apply", derefter "Apply". Således sørgede vi for, at kun overordnede kategorier vises.
  • Vi gemmer udsigten.

Med disse trin oprettede vi en side på site/katalog, hvor kun overordnede vilkår vil blive vist.

Sysadmin(også på engelsk sysadmin, systemadministrator) - et forkortet navn på et erhverv, hvis fulde navn på russisk lyder som systemadministrator. Dette erhverv er for nylig blevet meget populært for de fleste unge og knap så unge mennesker, de underviser i det, arbejder i det og får gode penge for det. Dette skyldes den hurtige udvikling af forskellige computerteknologier og deres indtrængen i alle områder af menneskelivet. Ordet systemadministrator bruges ofte i daglig tale, i ledige stillinger og CV'er ved jobsøgning, i et ord - overalt. Nedenfor vil vi tale om, hvad professionen som systemadministrator er.

I moderne realiteter kan en systemadministrator kaldes praktisk talt enhver person, der er involveret i at servicere og vedligeholde driften af ​​et specifikt computernetværk, inklusive alle dets hardware- og/eller softwarekomponenter, som kan omfatte:

  • Personlige computere, både arbejdsstationer og servere;
  • Netværksudstyr såsom switche, routere, firewalls og mere;
  • Webservere, mailservere, databaseservere og andre.

I visse tilfælde kan systemadministratoren også være ansvarlig for at sikre korrekt informationssikkerhed.

Afhængigt af hans specialisering kan en systemadministrator deltage i følgende aktiviteter:

  • En administrator af arbejdsstationer og servere reparerer oftest både hardware (defekte bundkort, udbrændte strømforsyninger) og software (Windows indlæses ikke, kommaer udskrives ikke i Word...).
  • Administrator af et virksomhedsnetværk baseret på et Active Directory-domæne. En meget populær aktivitet i betragtning af udbredelsen af ​​Windows-operativsystemer, samt behovet for på en eller anden måde at kontrollere dem centralt. En sådan specialist skal være i stand til at oprette, distribuere i grupper, redigere brugere, give dem de relevante rettigheder i AD-domænet og også være i stand til at administrere gruppepolitikker for brugere, deres computere og de grupper, som de alle er medlemmer af.
  • Administration af netværk og netværksudstyr. Hans ansvar omfatter viden om netværkstopologi, evnen til at arbejde med både ikke-konfigurerbart og tilpasseligt netværksudstyr, planlægning af et lokalt computernetværk, samt evnen til at kombinere flere fjernarbejdsstationer i ét netværk ved at opsætte NAT'er og VPN'er "ov. Du bør heller ikke glemme at kontrollere adgangen inden for dette netværk og uden for det - opsætning af en proxy.
  • En webserveradministrator, som mindst skal være i stand til at installere, konfigurere og vedligeholde en af ​​følgende webservere - Apache, IIS, Nginx og overvåge hosting (som kan være placeret både i organisationens netværk og udenfor det). Derudover bør en god administrator være i stand til at konfigurere normal ressourcefordeling under høje belastninger, clustering og mange andre specifikke ting.
  • Administration af en mailserver er også en almindelig opgave for en systemadministrator, som hans opgaver omfatter at arbejde med så populære løsninger som Exim, Microsoft Exchange, Postfix, Sendmail eller virksomhedsmailløsninger fra Google eller for eksempel Yandex. Udover den åbenlyse kontrol over konti (oprettelse, sletning, konfiguration) er det også nødvendigt at kunne opsætte et antispamsystem mv.
  • Site administrator. Disse ansvarsområder kan omfatte blot at fylde webstedet med noget indhold, men da vi taler om en systemadministrator, så burde han i teorien være i stand til at opsætte hosting (inklusive en webserver, som nævnt ovenfor), installere og konfigurere det ønskede websted , for eksempel ethvert indholdsstyringssystem (CMS).
  • Meget sjældent kan en systemadministrators ansvar omfatte opgaven med at oprette eller vedligeholde et videoovervågningssystem. Opgaverne omfatter at installere og konfigurere kameraer, reagere på forskellige hændelser, gemme og afspille optagelser. Han har en svag holdning til systemadministration og falder ofte ind i sit ansvar i forbindelse med nogle andre opgaver.

Udeladt af systemadministratorens beskæftigelser beskrevet ovenfor er sådanne mulige ting som databaseadministration (Microsoft SQL, MySQL og dets flere grene, Oracle osv.), 1C administration (ikke at forveksle med "1C programmør"), PBX og meget mere .

Hvad paneler kan

Denne udvidelse er designet til at placere yderligere paneler (regioner) på websider. Så kan deres plads bruges til at vise ikke kun blokke, men også indhold. Desuden gøres alt dette ved at trække de nødvendige elementer ind i det oprettede panel.

Først skal du downloade modulversionen til din . Udvidelsen er tilgængelig på motorens officielle hjemmeside. For at du ikke skal lede rundt og lede efter et modul, skal du straks følge dette link og installere den passende version.

Efter installationen vises modulet i admin-sektionen med samme navn. Paneler er et sammensat modul og består af flere (vist på det følgende billede).

Udvidelsens dele hænger sammen, så aktiver dem alle. Herefter skal du have nye elementer vist i sektionen "Struktur".

Lav en mini

Lad os gå til punktet "Paneler" i Drupal 7 administrative panel. Her vælger vi bloktypen "Mini-panel" og opretter den. Udfyld felterne: titel, beskrivelse, kategori.

Lad os nu tilføje kontekst. Så sætter vi den skabelon, vi skal bruge.

I skabelonen, der vises, skal du udfylde hver blok. For eksempel vil jeg kun udfylde én del af panelet. Klik på indstillingsikonet og vælg "Tilføj materiale" fra listen.

04.07.2012

Mange af jer, på forskellige websteder, har mindst én gang set pop-up-paneler, der indeholder nogle oplysninger, enten en formular til at udfylde, eller kontakte en konsulent, et tilbagekald, og så videre. For eksempel kan det se sådan ud:

De ser ret imponerende ud. I princippet er der ikke behov for dem for et lille websted, men hvis din ressource er vokset, og du simpelthen ikke har plads nok på siden til at placere information, så vil sådanne paneler være det helt rigtige for dig. Sådanne paneler er bygget ved hjælp af JS og Jquery, plus CSS (hvor ville vi være uden det). Nu vil jeg prøve at forklare dig trin for trin, hvordan du placerer et sådant panel på din hjemmeside under Drupal 7, og for nemheds skyld vil vi vise denne blok som en region, så vi ikke går ind i koden hver gang, men blot placer i dette panel præcis den blok, vi har brug for. Så lad os komme i gang:

1. Først skal vi bruge scriptet til selve dette panel (du kan selv skrive det), men jeg tager et færdigt for ikke at spilde tid, og desuden kan jeg godt lide det. Du kan downloade min version af panelet fra artiklen. (Dette er ikke mit script, jeg har lige renset det for skrald).

2. Pak ud og se, at der inde er en mappe med billeder, stilarter og en indeksfil. Lad os åbne filen "index.html" og se, at vi har følgende elementer forbundet til den:

  1. Styles – style.css-fil
  2. Jquery-bibliotek – med url, hvorfra biblioteksfilen skal downloades
  3. Og før det afsluttende head tag indsættes det eksekverende script.

Jeg vil udføre et eksempel på forbindelse i drupe 7 på "Crisp" skabelonen.

3. Lad os først oprette en ekstra region i "Crisp" skabelonen (jeg skrev om installation af denne skabelon). For at gøre dette skal du gå til filen

    sprøde. info

og skriv en ny region:

    regioner[ newRegionDrupalfly] = drupalfly


    side. tpl. php

og skriv outputkoden for denne region. Bemærk, at jeg vil tage blokken fra indeksfilmarkeringen i vores panelscript, nemlig at jeg vil oprette en blok med "panel"-klassen hvor som helst i sideindholdet (da blokken er absolut placeret).


    print render($page ["newRegionDrupalfly"]);


5. Lad os tjekke, om vi har en ny region i webstedets administrationspanel, nemlig i struktur->blokke


Hvis du gjorde alt korrekt, skulle din region vises. (Bemærk at efter ændringer af Drupal skabelonen skal skabelonen gemmes, så nye elementer hentes).

6. Dernæst skal vi anvende stilarter, nemlig at tilslutte stilarket for vores script til vores side. Der er to muligheder: enten tilføje til den eksisterende style.css skabelonfil eller inkludere en separat fil. Jeg vælger den anden mulighed, så jeg omdøber scriptfilen fra style.css til panel.css og kopierer den til styles-mappen i vores skabelon.


Lad os nu skrive det i filen

    sprøde. info

forbinder til vores nye stilside:

    stylesheets[ alle] = css/ panel. css


Jeg vil også kopiere alle billederne fra mappen "billeder" i vores script til mappen "billeder" i vores skabelon. Jeg tror, ​​du kan klare dette uden besvær. Bare glem ikke at omskrive url'en med billeder i stilarter.

7. Nu skal vi forbinde scripts, dette er Jquery-biblioteket og det eksekverende script. Dette script virker kun med bibliotek 1.3.2, så jeg vil inkludere det. (Selvom biblioteket kommer ud af boksen i Drupal JQuery, er der under alle omstændigheder en ny version af biblioteket i Drupal 7). Derfor åbner vi filen "html.tpl" (strukturen af ​​denne skabelon er ikke helt sædvanlig, indholdet af siden og hovedet er adskilt i forskellige filer. Men det er der ikke noget galt med.) Og der indtaster vi forbindelsen af vores gamle bibliotek og det eksekverende script, nemlig vi kopierer det hele fra filen index.html.


Bemærk venligst, at i henhold til reglerne for Drupal API skal alle scripts placeres i en separat fil og forbindes gennem filen

    Emnenavn. info

Du kan læse mere om dette her Lad os nu gemme hele vores skabelon. Gå til Struktur-> Blokke. Lad os oprette en ny blok, alt kan være inde i blokken, i mit tilfælde er det bare tekst og placer det i "drupalfly"-området

Vi gemmer og går til siden og ser sproget i vores region.


Når vi klikker på den, åbnes indholdet af vores nye blok.


Det er alt. Jeg håber, at dette er nyttigt for nogen.

"Hej, jeg siger dig - hej!" Sidste gang skrev jeg om, hvordan man installerer et Bootstrap-tema på Drupal og konfigurerer Sass. I dag vil jeg fortælle dig, hvad der skal til for at få Bootstrap til at fungere med paneler og visninger, og jeg vil også gennemgå færdige moduler til at løse disse problemer.

Det første spørgsmål efter jeg hørte om bundtet Bootstrap og Drupal, jeg havde "Hvordan vil alt dette fungere med paneler?". For mig begynder ethvert seriøst projekt med installationen af ​​modulet Paneler– man vænner sig virkelig hurtigt til det, selvom det i det første par virker svært. Så snart jeg fik nok af at spille med Bootstrap og Sass, installerede jeg derfor Paneler, Visninger og forsøgte at simulere en side af et komplekst projekt med et stort antal blokke, lister, tabeller og andre elementer. Uden yderligere moduler og reaktionsindstillinger så siden selvfølgelig dårlig ud. Derfor er her min lille liste over moduler, som du straks kan installere sammen med Bootstrap-temaet:

  • Paneler Bootstrap Layouts
  • Paneler Bootstrap Styles
  • Visninger Bootstrap

Paneler Bootstrap Layouts

Et meget overskueligt modul, der giver 2 skabeloner med det nødvendige Bootstrap struktur og evnen til at indstille stilarter for panelområder. Generelt er dette sådan et godt eksempelmodul, hvis kode kan bruges som grundlag, hvis du skal skrive en form for løsning til dit projekt.

Det er ret simpelt at bruge:

  • Når du opretter en sidevariant på layout-stadiet, skal du vælge "Bootstrap"-kategorien og en af ​​to skabeloner at vælge imellem: Three Columns Stacked eller Two Columns Stacked;
  • ved tilføjelse Panelruder på indholdsstadiet skal du ændre regionstilen til "Bootstrap" og angive dens bredde i henhold til 12 Gittersystem.

Men hvis du vil tilføje flere klasser til en blok (f.eks. ".col-xs-6 .col-sm-3"), så bliver du nødt til at skrive din egen løsning. Jeg havde en anden situation: Jeg brugte modulet Paneler overalt, så jeg valgte skabelonen Three Columns Stacked som skabelon for hele webstedet og en side for en enkelt node. Problemet viste sig at være, at jeg manglede ". beholder" Jeg fulgte princippet om ikke at ændre nogen skabeloner, men prøve at tilføje dem til arrayet $klasser(se fil "bootstrap-threecol-stacked.tpl.php") påkrævet klasse. For at skelne en webstedsskabelon fra en sideskabelon under forbehandling forsøgte jeg at binde mig til argumenterne. Sandt nok ved jeg ikke hvor korrekt dette er, men ikke desto mindre virker det. Koden kan tilføjes til dit temas "template.php" fil.

    * Implementerer hook_preprocess_HOOK().

    funktion MY_THEME_preprocess_bootstrap_threecol_stacked(& $variables ) (

    $args = isset ($variabler ["display"] -> args [0]) ? $variables [ "display" ] -> args [ 0 ] : NULL ;

    if (! tomme ($args -> type ) && $args -> type == "page_content" ) (

    $variables [ "classes_array" ] = "container" ;

Paneler Bootstrap Styles

Modulet, der ligner det forrige, giver dig mulighed for at tilføje de nødvendige Bootstrap-klasser ved at ændre stilene for regioner og panelruder. Dette modul giver dig mulighed for at style elementer, men med det kan du ikke styre bredden af ​​blokkene. Jeg har endnu ikke fundet nogen særlig fordel ved dette modul for mig selv, men det kan være nyttigt for nogen.

Visninger Bootstrap

Dette er et fantastisk modul! Modulet giver nye outputformater til Visninger, dvs. udvider standardsættet (Uformateret liste, Grid, HTML-liste) med alle mulige Bootstrap "tricks": Bootstrap Accordion, Bootstrap Carousel, Bootstrap Tab, osv. Du kan skabe et virkelig smukt output med blot et par museklik.


Så snart jeg skiftede fra standard Bootstrap-temaskabelonen til paneler, forsvandt min menu: både stilarter og reaktionsevne forsvandt. Årsagen var, at den nødvendige HTML-struktur til Bootstrap-stile gik tabt. Jeg løste dette problem som følger, igen via "template.php":

    * Tilsidesætter theme_menu_tree().

    function MY_THEME_menu_tree__main_menu(& $variables ) (

    $output =