Kaksi pikataulukkoa sisältää nyt tiedot, jotka kirjoitin cck-kenttiin.
Etusivu > Internet-markkinointi ja seo blogi > Drupal > Luo cck-kenttien täyttämiä Quicktab-lohkoja

Luo cck-kenttien täyttämiä Quicktab-lohkoja

Yritin tehdä tuotesivun, jossa on joitakin tietoja, kuva ja sitten kaksi välilehteä alareunassa, joissa on lisätietoja (ainesosat ja ravintoarvo). Tämä oli helppoa quicktabs-moduuli. Kun tämä oli asennettu, minun oli luotava kaksi uutta lohkoa, ainesosat ja ravitsemus. Sitten menin hallintopaneelin quicktabs-osioon, loin uuden quicktab-välilehden, loin siihen kaksi lohkotyyppistä välilehteä ja täytin ne juuri luomillani lohkoilla, ravitsemus ja ainesosat. Sitten minun oli mentävä lohkojen yleiskatsaussivulle ja aktivoitava uusi quicktab-lohko ja tehtävä se näkyväksi sivulle, jonka juuri loin lohkoalueella sisällön alla (Content-bottom, minulla on Zeniin perustuva teema).

Tämä olisi ollut OK, jos:

  1. Minä olisin se, joka tekee tuotesivut.
  2. Erilaisia tuotteita olisi yhdestä viiteen.

Mutta:

  1. Se, joka luo tuotteet, on vain tavallinen liikemies, jolla ei ole aikaa tai teknisiä taitoja luoda paljon lohkoja ja quictabs-kortteja.
  2. Tuotteita on noin 70-100..

Toinen ongelma tässä on se, että näkyviin tulisi 70-100 lohkoa, joissa on ravintoarvoja, ja 70-100 lohkoa, joissa on ainesosia, JA 70-100 Quicktabs-lohkoa sisällön alaosassa, jotka kaikki aktivoituisivat yhdelle tuotesivulle, johon se liittyy. Joten tämä ei ollut edes vaihtoehto, aloitin näin, mutta tunnustin kolmen tuotteen jälkeen, että en voi tehdä näin. Sitten etsin muita moduuleja, kuten välilehtiä, CCK Fieldgroup -välilehtiä ja niin edelleen, mutta en löytänyt yhtäkään, joka voisi ratkaista ongelmani. Sain selville, että halusin kaksi ylimääräistä cck-kenttää näyttöön, jossa lisäät uuden tuotteen (solmutyypin tuote), jotta voisit täyttää ainesosat ja ravintoarvot samalla, kun luot tuotteen, ja nämä kentät ilmestyisivät sitten pikavälilehti-lohkossa sisällön alareunassa kyseiselle sivulle automaattisesti, kun tallennat sivun.

Miten korjasin sen?

Aluksi loin kaksi uutta CCK-kenttää, jotka ilmestyivät tuotetyyppisolmun rungon alle. Näin nämä kaksi kenttää näkyivät toistensa alla, ja voit täyttää tiedot samalla, kun luot tuotteen. Nyt minun oli vain saatava ne näkymään välilehtilomakkeessa sen sijaan, että ne näkyisivät toistensa alla. Yritin etsiä päässäni ja Googlessa jotain javascriptia, jota voisin helposti käyttää tähän, mutta kumpikaan ei pystynyt antamaan minulle helppoa ja hyvännäköistä ratkaisua, joka toimisi "Drupal-tapaan". En muutenkaan tykkää luoda omaa javascriptia.

Olen luonut kaksi uutta CCK-kenttää ravitsemukselle ja ainesosille.

Sitten ajattelin, että voin jättää nämä kaksi kenttää pois näkymästä ja ehkä vetää ne solmusta pikavälilehdellä, jonka sijoitan sisällön alaosaan. Mutta sitten näin, että Quick-tabsissa EI ole vaihtoehtoa CCK-kenttien näyttämiseen välilehtilomakkeessa. Tämä tuntuu minusta hieman typerältä. Seuraava askel oli kaivaa pääni ja Googlesta php-tietämystä, minun oli todella saatava tämä toimimaan nyt. Sain selville, että voit vetää CCK-kentän lohkoon. tällä sivustolla, ja nyt se tuli selväksi. Otin käyttöön php-filter-moduulin, joka sisältyy Drupalin ytimeen. Poistin kaikki tekemäni typerät qucktab-lohkot ja kaikki ainesosa- ja ravintoainelohkot lohkojen yleiskatsaussivulta. Sitten loin uuden lohkon ainesosille, joka sisälsi tämän hienon php-koodin:

<?php
if ( arg(0) == 'node' && is_numeric(arg(1)) ) {
$node = node_load(arg(1));
if ( $node->type == 'produkt' ) {
// Tee jotakin $nodella.
print $node->field_ingredienser[0]['value'];
}
}
?>
Tämä koodi hakee kentän "ingredienser" solmutyypistä "product" ja antaa arvon. "ingredienser" on vain ruotsinkielinen termi ainesosille. En ottanut tätä kenttää käyttöön millään sivulla, vaan pidin sen vain inaktiivisten lohkojen luettelossa. Kopioin sen ja tein sellaisen myös ravitsemusta varten. (muutin vain "field_ingredienser"-kentän "field_nutrition"-kentäksi).
Sitten menin quicktabs uudelleen, loi uuden quicktab lohko, joka oli kaksi välilehteä, kansoitettu kaksi lohkoa php-koodin sisällä. Tallensin tämän uuden quicktab-lohkon, palasin takaisin blocks-overview-sivulle ja aktivoin tämän lohkon ja sain sen näkymään kaikilla tuotesivuilla. Käytän mysite.com/products/product URL-osoitetta tuotesivuille, joten minun piti vain aktivoida se seuraavilla sivuilla: products/* .

Ja Voila!

Nyt asiakas voi luoda tuotteen ja täyttää perustiedot, ladata kuvan, täyttää ravintoarvokentän, täyttää ainesosakentän ja tallentaa. Kaikki samalla sivulla. Kun tuote tallennetaan, kaikki näkyy tuotesivulla niin kuin pitääkin! Voit nähdä sivun, jolla käytän tätä ratkaisua, täällä: Musch.fi/barf (suomeksi) tai täällä Musch.fi/sv/barf (ruotsiksi).

Kaksi pikataulukkoa sisältää nyt tiedot, jotka kirjoitin cck-kenttiin.
Kaksi pikataulukkoa sisältää nyt tiedot, jotka kirjoitin cck-kenttiin.

Liitännäiset käytin tehdä tämä tapahtuu on seuraava:

Tämä on melko yksinkertainen ratkaisu ongelmaani, kunnes Quick-tabs alkaa tukea välilehtien cck-kenttiä. En tiedä, jos joku muu oli tämä ongelma, mutta joka tapauksessa, minun piti silti kirjoittaa minun ratkaisu jonnekin, jos tarvitsen sitä useammin.