Լրացուցիչ Բլոկների Տեսակներ (EBT) - Դասավորության Կառուցողի նոր փորձառություն❗

Լրացուցիչ Բլոկների Տեսակներ (EBT) - ձևավորված, կարգավորելի բլոկների տեսակներ՝ սլայդշոուներ, ներդիրներ, քարտեր, բացվող ցանկեր և շատ ուրիշներ։ Ներառված կարգավորումներ՝ ֆոնի, DOM տուփի, JavaScript փլագինների համար։ Փորձեք դասավորությունների կառուցման ապագան արդեն այսօր։

EBT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EBT մոդուլները

❗Լրացուցիչ Պարբերությունների Տեսակներ (EPT) - Պարբերությունների նոր փորձառություն

Լրացուցիչ պարբերության տեսակներ (EPT) - անալոգիական պարբերության վրա հիմնված մոդուլների հավաքակազմ։

EPT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EPT մոդուլները

Scroll

Արագ միացրեք SCSS-ը (SASS) Drupal-ին՝ օգտագործելով Sassy մոդուլը

11/05/2025, by Ivan

SASS/SCSS վաղուց դարձել են CSS կոդի գրելիս ստանդարտ, եթե դեռ չեք օգտագործում դրանք ձեր կայքերի համար, ապա ժամանակն է մտածել դրա մասին։ SCSS-ը կարելի է շատ արագ միացնել Sassy մոդուլի միջոցով, և դա հնարավոր է անել նաև shared hosting-ում, քանի որ CSS ֆայլերի կոմպիլացիան կկատարվի PHP գրադարանից։

Սկսենք։ Իմ մոտ կա զրոյական Drupal՝ Zen թեմայով։ Պետք է տեղադրել Sassy մոդուլը՝

https://www.drupal.org/project/sassy

Sassy մոդուլը պահանջում է Prepro մոդուլը՝ CSS կոմպիլացիայի համար։

https://www.drupal.org/project/prepro

Ավելի նույնպես պետք է տեղադրեք Libraries API մոդուլը, որպեսզի կարողանանք միացնել Sassy գրադարան։

https://www.drupal.org/project/libraries

Բացի այդ, պետք է նաև ներբեռնել PHPSass գրադարանը, որը SCSS կոդը կփոխանցի CSS-ի։ Ներբեռնեք վերջին актуալ տարբերակը "Download ZIP":

https://github.com/richthegeek/phpsass

Գրադարանը պետք է պատճենել sites/all/libraries/phpsass թղթապանակ, այնպես որ ֆայլերը պետք է տեղակայված լինեն այսպես՝
/sites/all/libraries/phpsass/SassLoader.php
/sites/all/libraries/phpsass/SassParser.php
և այլն։

Drupal theming

Ընտրում ենք մեր մոդուլները։ Այժմ կարող ենք ավելացնել SCSS ֆայլ։ Իմ ենթաթեման կոչվում է sitemade, այնպես որ ես բացում եմ sitemade.info ֆայլը և պարզապես ավելացնում css ֆայլը՝

stylesheets[all][] = css/styles.scss

Եթե առկա են խնդիրներ, ստուգեք, թե արդյոք files թղթապանակում իրավունքներ եք տվել 777 և չկա սխալներ Կարգավիճակի հաշվետվությունում, հարցեր գրեք մեկնաբանություններում։ Շարունակենք հետագայում՝ Drupal-ի կարգավորումները SCSS-ի հետ աշխատելու համար և SCSS-ի հնարավորությունները։

Սասի մոդուլի աշխատանքը

Այնուհետև, երբ մենք միացրեցինք SCSS ֆայլը, Sassy մոդուլը ստեղծում է CSS կոդ SCSS-ից և Prepro մոդուլը պահպանում է այդ կոդը ֆայլերում՝ ըստ անպայմանության՝ sites/default/files/prepro թղթապանակում։

Որպեսզի CSS-ը չստեղծվի ամեն անգամ, երբ բացվում է նոր էջ (որպես կենդանի կայք), անհրաժեշտ է անջատել քեշավորումը Prepro մոդուլի կարգավորումների էջում՝

/admin/config/media/prepro

phpSass

Ըստ անպայմանության քեշավորումը անջատված է, և CSS-ը կվերարտադրվի յուրաքանչյուր էջում։ Սա կատարվում է բավականին արագ, ուստի կարող եք արագ փոփոխություններ կատարել SCSS-ում և տեսնել արդյունքները։

Mozilla Firefox Firebug + FireSass

Շատ հարմար է օգտագործել Firebug-ը և դրա FireSass հավելվածը։ Սա թույլ է տալիս տեսնել, թե որ տողում է գտնվում անհրաժեշտ SCSS կոդը՝

Drupal 7

Եթե հավելվածը չտեղադրեք, ապա կտեսնեք միայն տողը արդեն կոմպիլացված CSS ֆայլում։

Հավելվածի համար պետք է անջատել պարամետրերը Prepro մոդուլի կարգավորման էջում՝
/admin/config/media/prepro

Pass @warn and @debug to Watchdog
Include debug information in output

SCSS հնարավորություններ

SCSS-ի բոլոր հնարավորությունների մասին կարող եք կարդալ պաշտոնական կայքում՝

http://sass-lang.com/

SCSS-ի հիմնական առանձնահատկությունը՝ ներմուծությունը։

Ներմուծություն

Դուք կարող եք գրել կոդ առանց կրկնելու ծնողական դասերի անունները, օրինակ՝ այսպես՝

#menu-1 {
  margin-top: 20px;
 
  ul {
    margin-left: 0px;
 
    li {
      width: 100px;
      display: inline-block;
    }
 
    .li-1 {
      background: red;
    }
  }
}

#menu-1 {
  margin-top: 20px;
}
 
#menu-1 ul {
  margin-left: 0px;
}
 
#menu-1 ul li {
  width: 100px;
  display: inline-block;
}
 
#menu-1 ul li.li-1 {
  background: red;
}

#menu-1 {
  margin-top: 20px;
 
  ul {
    margin-left: 0px;
 
    li {
      width: 100px;
      display: inline-block;
 
      a {
        text-decoration: none;
 
        span {
          padding-left: 10px;
          background: url(../images/icon.png) left 3px no-repeat;
        }
      }
    }
 
    .li-1 {
      background: red;
    }
  }
}

a {
  font-weight: bold;
  text-decoration: none;
  &:hover { text-decoration: underline; }
  body.firefox & { font-weight: normal; }
}

a {
  font-weight: bold;
  text-decoration: none; 
}
a:hover {
  text-decoration: underline; 
}
body.firefox a {
  font-weight: normal; 
}

Փոխվողներ

$red: #fa0a0a;
$blue: #0a0afa;
$green: #0afa0a;
 
$content: 1200px;
$sidebar: 250px;
 
.sidebar {
  width: $sidebar;
  float: left;
  background: $red;
}
 
.content {
  width: $sidebar;
  margin-left: $sidebar;
  background: $blue;
}

Ֆունկցիաներ (Mixin)

@mixin blue-button {   
  background: #3498db;
  background-image: -webkit-linear-gradient(top, #3498db, #2980b9);
  background-image: -moz-linear-gradient(top, #3498db, #2980b9);
  background-image: -ms-linear-gradient(top, #3498db, #2980b9);
  background-image: -o-linear-gradient(top, #3498db, #2980b9);
  background-image: linear-gradient(to bottom, #3498db, #2980b9);
  -webkit-border-radius: 28;
  -moz-border-radius: 28;
  border-radius: 28px;
  font-family: Arial;
  color: #ffffff;
  font-size: 20px;
  padding: 10px 20px 10px 20px;
  text-decoration: none;
 
  &:hover {
    background: #3cb0fd;
    background-image: -webkit-linear-gradient(top, #3cb0fd, #3498db);
    background-image: -moz-linear-gradient(top, #3cb0fd, #3498db);
    background-image: -ms-linear-gradient(top, #3cb0fd, #3498db);
    background-image: -o-linear-gradient(top, #3cb0fd, #3498db);
    background-image: linear-gradient(to bottom, #3cb0fd, #3498db);
    text-decoration: none;
  }
}
 
.form-submit {
  @include blue-button;
}