Invechit

Brightcontent este depreciat. Vom sustine acest proiect numai in masura in care se potriveste propriilor nevoi. Daca sunteti in cautarea unui panou de administrare Rails pe care sa il utilizati, va recomandam sa cautati aici.

Brightcontent, inca un alt panou CMS / admin

  • Pentru dezvoltatori , sa creeze un CMS personalizat pentru utilizatorii non-tehnici
  • Fara „module cms” standard, le uram, personalizarea este destul de usoara
  • Construite in linie, utilizati modelele dvs. normale, sunt furnizate doar controlere si vizualizari
  • Singura exceptie: modelul de pagina este furnizat cu structura de copac, sortare, adrese ascunse si frumoase, cum ar fi / services / cleaning / houses
  • Suporta sinele 4.2 si mai sus
  • Suport puternic pentru parametrii

Instalare

Includeti bijuteria in fisierul dvs. Gem:

instalarea pachetului „brightcontent” gem

Generati initializatorul, copiati migratiile si editati fisierul rutelor. Acest lucru se poate face prin intermediul unui generator. Migrati baza de date dupa aceea:

$ rails generate brightcontent: instalare $ rails generate brightcontent: pages: install $ rails generate brightcontent: atasamente: install $ rake db: migrate

Accesati / admin si conectati-va cu utilizatorul implicit (e-mail: [email protected] / parola: parola).

Adaugati o resursa la Brightcontent

Sa spunem, vrem sa adaugam proiecte. Trebuie doar sa creati modelul de proiect in felul sinelor:

$ rails g model Nume proiect: descriere sir: text $ rake db: migrate

Pentru a adauga resursa la rularea brightcontent:

$ rails genereaza proiectul brightcontent: resource

Gratz! Proiectele pot fi acum controlate cu Brightcontent.

Filtre

Folosind filter_fields puteti defini filtre pentru paginile dvs. index:

clasa BlogsController <Brightcontent :: BaseController filter_fields: author,: name end

Cele de mai sus vor reda doua filtre pe pagina index a blogurilor. Blogul apartine autorului, prin urmare, in mod implicit, filtrul este afisat ca o lista derulanta care contine toti autorii care au bloguri. Filtrul de nume este afisat ca o lista derulanta care contine toate valorile pentru atributul nume gasit in tabelul de bloguri.

Optiuni

Pentru a controla modul in care sunt afisate filtrele si cum se comporta, puteti furniza optiuni:

# Optiuni de furnizare: filter_fields autor: {…}, nume: {…} # Combinarea filtrelor fara optiuni si filtre cu optiuni: filter_fields: autor, nume: {.

porno india maduras sensuales
largeporntube porno español trios
incestoxxx porno español abuelas
coños ricos abuelas por el culo
follando en el trastero maduras gozando
peleas xxx masajes porno en español
pollas peludas porno españolas peludas
inciesto español española viciosa
porno loco peliculas porno subtituladas en español
porno gay primera vez creampie española
chicas haciendo el amor videos porno corridas internas
pornoamater incesto abuelas
viejas tetonas alexa grace
pornox porno traducido al español
porno del bueno maduras gordibuenas
vecinas cachondas megan montaner follando
revistas xxx taboo.com
zoofilia con cabras chica se masturba
vieja gorda follando videos chicas gratis
maduras españolas masturbandose parejitas españolas follando

..}

Practic toate optiunile sunt delegate catre SimpleForm :: FormBuilder # input, cum ar fi: as,: input_html si: label_method. Consultati documentatia Formular simplu pentru mai multe informatii.

Alte optiuni

:Colectie

Extinde SimpleForm’s: optiunea de colectare. De asemenea, accepta un simbol Proc sau un nume de metoda ca simbol. Valoarea implicita este fie o lista cu toate valorile existente pentru atributul corespunzator, fie o lista cu toate inregistrarile asociate in cazul unei relatii de apartenenta.

:predicat

Permite specificarea predicatului de cautare Ransack de utilizat. Setati-l la fals pentru a evita un predicat. Valori implicite la „cont” (contine) pentru filtrele de tip sir (: sir sau: cautare) si la „eq” (egal) pentru toate celelalte tipuri. Valoarea implicita este falsa daca numele campului se refera la un domeniu care poate fi rascolit. Pentru mai multe informatii, consultati documentatia Ransack.

Exemple

class BlogsController <Brightcontent :: BaseController # Doua liste de lista drop-down implicite: filter_fields: name,: author # Filtru text de formular gratuit, returneaza toate blogurile in care numele contine interogare data: filter_fields nume: {ca:: sir, predicat: “cont “} # La fel ca mai sus: filter_fields name: {as:: string} # Label personalizat: filter_fields author: {label:” Scris de “} # Selectati filtrul cu optiuni personalizate: filter_fields name: {collection: [” Game reviews “, „Sfaturi de programare”, „Blogul lui Arthur”]} # Face parte din filtrare cu optiuni personalizate: filter_fields author: {collection: -> {Author.order (: name)}, label_method:: display_name} # Sau prin intermediul unui controler method: filter_fields author: {collection:: published_authors} # Sau chiar un filtru complet personalizat,folosind un camp de intrare personalizat fictiv SimpleForm: filter_fields author: {as:: remote_select, url: “/authors.json?order=name”} # Filter by date start: filter_fields created_at: {as:: date, predicate: “gteq” , eticheta: „Postat de cand”} # Filtreaza dupa domeniu (vezi definitia Blogului de mai jos): filter_fields exclude_inactive: {as:: select, collection: [[“Da”, adevarat], [“Nu”, fals]]} privat def published_authors Author.published end end def Blog <ActiveRecord :: Domeniul de baza: exclude_inactive, -> {where (active: true)} def self.ransackable_scopes (auth_object = nil) [: exclude_inactive] end endPostat din „} # Filtreaza dupa domeniu (vezi definitia Blogului de mai jos): filter_fields exclude_inactive: {as:: select, collection: [[” Da “, adevarat], [” Nu “, fals]]} private def published_authors Autor. publicat sfarsit sfarsit Blog <ActiveRecord :: Domeniu de baza: exclude_inactive, -> {unde (activ: adevarat)} def self.ransackable_scopes (auth_object = nil) [: exclude_inactive] end endPostat din „} # Filtreaza dupa domeniu (vezi definitia Blogului de mai jos): filter_fields exclude_inactive: {as:: select, collection: [[” Da “, adevarat], [” Nu “, fals]]} private def published_authors Autor. publicat sfarsit sfarsit Blog <ActiveRecord :: Domeniu de baza: exclude_inactive, -> {unde (activ: adevarat)} def self.ransackable_scopes (auth_object = nil) [: exclude_inactive] end end

Pagini

Pagini va ofera un model de pagina cu structura de copac si adrese URL frumoase. Fiecare pagina se refera la o cale specifica. De exemplu, puteti crea o pagina cu calea / despre / echipa. Pagina este disponibila pe adresa URL prin current_page.

Acest lucru adauga un strat suplimentar pe traseele existente. Cu toate acestea, atunci cand nu exista rute disponibile pentru adresa URL specifica, Rails nu poate reda pagina. Prin urmare, cel mai bine este sa adaugati un traseu pentru toate paginile (in partea de jos a fisierului) pentru toate paginile generale:

get “* path” => “pages # show”, constrangeri: Brightcontent :: Pages :: PathConstraint.new

Paginare

Numarul de pagini poate fi setat intr-un controler apeland per_page 50.

Daca sunt preferate mai multe dimensiuni de pagina, le puteti furniza

page_size_options [10, 25, 50, 100]

Aceasta va seta dimensiunea paginii implicite la 10 si va injecta 4 optiuni de dimensiune a paginii in vizualizarile indexului. Valoarea per_page (daca este furnizata), va fi ignorata.

Aspecte

In afara de aspectul obisnuit al aplicatiei care utilizeaza latimea maxima a Bootstrap, exista un aspect larg folosind latimea paginii complete. Includeti aspectul „brightcontent / wide” in controler pentru al utiliza.