Newbie not understanding (despite reading 2 drupal books for beginners) how complex content relationships work -- please help!!!

tchopshop - July 5, 2009 - 16:18

Hello,

I've read 2-3 books and watched many videos on installing and configuring and theming drupal and I can do all the basic stuff. I can set up a basic site but I don't clearly understand how more complex relationships between content nodes works. I have a lot of experience with xhtml, css, but limited php and javascript (basically just hacking things and installing pre-made scripts).

I ask this question because it seems to me that if I can just get this one thing cleared up, I could cruise in drupal. And, to me, this seems like the biggest block to learning drupal for everyone -- why is it so mysterious!!! Until I understand how a navigation links to nodes, which then link to other nodes so I can create my pages -- I cannot even begin. I'm used to thinking in terms of pages, which have distinct content, but in Drupal with its nodes of content it seems like every thing defaults to the homepage, like one big blog ... (i'm exaggerating, but I've seen so many drupal sites with the most cluttered homepages). I don't understand the filtering process behind drupal.

Here is my example:
I have an art gallery with, say, 20 artists. Each artist has a bio, a pic, and some images of their artwork (some have more, some less).

I want to have a left navigation with a list of the artists on all pages. When you click on an artist, you go to the artist page, which shows their bio, their pic and a carousel of thumbnails of their artwork in a block. Then, when you click on the thumbnail you go to another page that shows the image of the artwork larger, with title, caption, etc.

Would I use taxonomy to distinguish between the artists and their information?

Or, would I create a custom content type to specify all the information for the artist (name, bio, pic, artwork images, captions)?

How do I get the block of thumbnails of artwork to then click to a new page for the artwork detail? Do I create a different block of images for each artist on their artist page? Or do I only need one block -- the carousel block -- but how do I get it to filter out only images of the artist of that page.

There are also issues between whether I should use Image or Imagefield to administer this gallery of artwork for each artist.

If I have an undetermined number of images of artwork for each artist how do I allow that to be administered? Should each artwork be a node, or is the entire group of artist's artwork one node? Does each image have to be a node in order to have a separate detail page attach to it?

I am completely lost. PLEASE HELP!

Think about data, not pages

yelvington - July 5, 2009 - 18:55

Begin by thinking about data and lists of data. Eventually they'll be shown on a page, but don't worry about that at first.

Let's simplify your example: Artists are a type of content. You want to put lists of artists on your site in various places. There are a number of different ways to get this done, but a reasonable path would be:

* CCK custom content type 'artist' consisting of title, bio, picture. You might wish to create a custom output template to format the result.

* Views to create a simple block list all of the artists. This will serve as your navigation. Views is overkill for this purpose, but you're going to like it later.

Your next problem is the images of artwork.

You could embed multiple images in the artist node, using Filefield/Imagefield, and use the Alt Text and Title fields of an image to hold the name and caption information. It's simple, easy to implement, easy to tailor in your output template (note: Imagecache helps a lot). The downside is that it's not very friendly to the creation of galleries.

Alternatively, you could create an artwork content type and use Imagefield to upload the artwork. In this case, each work would also be a node. The artwork then might have some interesting fields other than just the title and caption. You could use Taxonomy to categorize the work (sculpture, painting, etc.) And you could relate the artwork to its creator by adding a node relativity field. The upside of this approach is flexibility; you can use Views to create nifty galleries based on any available criteria (including the use of Views Carousel). The downside is that it's a bit more cumbersome to initially create.

Views is an intimidating beast at first, but once you get the hang of it, you'll wonder how you ever lived without it. You can create all sorts of interesting outputs of collections of stuff -- lists, grids, galleries, XML feeds, you name it.

The Drupal homepage, by the way, is just a standard (core) "river of news" view, and the first thing most of us do when we build a site is to override it or just unhook it. the Frontpage module makes it easy to put arbitary HTML onto the front, but if you want to create a complex layout automatically managed with lots of embedded views, the Panels module is the way to go.

thank you, that's a start...

tchopshop - July 5, 2009 - 19:58

Yes, I was thinking of using Views and the Views Carousel for my artwork thumbnails.

I think I know how to create these things by themselves... But I still am not wrapping my mind about how I get them on the page in the end ... all together.

If I have an Artist Content Type and an Artwork Content Type and they are linked together through a node relativity field, what do I do to finally get them working together?

Does the Artwork for one particular artist just appear magically on the Artist page if I create a block to show the thumbnails for it on that page? Or does that require special code?

...still befuddled...

Elena

I'm a little farther along...

tchopshop - July 8, 2009 - 12:29

Ok. I understand a little more now, about defining the path, and putting the path in a navigation menu. Or having the path pass variables... etc.

But I'm getting stuck on these nodes. I set up artist pages with a carousel of their own artwork on them. However, the thumbnails in the carousel link to their node pages (detail pages). But these detail pages do not have a carousel block on them, despite the fact that I've specified that the block should be on every page of the site.

Ideally I'd like the thumbnail links from the carousel (which is vertical in the 3rd column) to use ajax to insert that large detail image in the main content area. But that seems to be too much to ask! I keep googling ajax drupal node replace or load, and get a lot of questions and no answers.

But if I can't get that to happen, then I'd like the detail page to have the carousel so that you can click on another painting by that artist and go to another detail page...

Elena

_

WorldFallz - July 8, 2009 - 16:26

I'm not sure I completely understand what you're trying to do, but the type of ajax image placement you're talking about is typically done with some type of "slideshow". I would checkout the http://drupal.org/project/views_slideshow, http://drupal.org/project/galleria, and http://drupal.org/project/ddblock modules for some options (there are others as well). Also, if you know of a javascript or jquery script you already like you can just add that to a view manually.

Once you use a view to get the 'carousel', you can attach that view directly to the author content type with the http://drupal.org/project/views_attach module.

_
Don't be a Help Vampire - read and abide the forum guidelines.
If you find my assistance useful, please pay it forward to your fellow drupalers.

Thank you, gosh...

tchopshop - July 8, 2009 - 19:41

Yes, Galleria is almost what I need to do, but not quite. But I wanted to have each image as a node because it needs additional information -- that pointed me to Views Galleria, which is still in development. I'm going to give that a try, but I'm having my doubts, because what I need to do is have a carousel of thumbnails which is somewhat independent of the main (larger) image.

I want my user to go to a page, read a bio, then view a carousel of thumbnails, which, when clicked on, will replace the bio (in the main content area) with a larger image (and text related to that image).

DD Block doesn't support a carousel, according to their FAQ.

Is that clearer?

I'm really unclear about how to add javascript or jquery to a view manually. I haven't done my research on that yet. Is that covered by some tutorial or book I could read/watch?

If I can't do the ajax replace then I could just have the image appear larger on its node page, but I can't get the carousel to also appear on the node page -- but I think that's just my own ignorance of Drupal. I would think that would be easy. As it is now, I go to the node page and have to click back to the page with the carousel to get to another image. I do not want to use a detail page with pagers clicking back/next because I want the user to see the thumbnail before they click to see the larger image.

thank you so much for your help...

Elena

_

WorldFallz - July 8, 2009 - 19:59

I must be brain spasming-- in spite of your excellent description I'm just not wrapping my brain around what you're trying to do, lol.

First thing-- I don't think you really want to click through to the actual node with the image, you just want the image to appear over the center content area.

What I usually do is put a single value imagefield on a node, then use views to assemble the information I want to present in the slideshow, and either use a slidehow plugin or theme in a slideshow right into the view.

If you could link some examples and/or wireframe up what you're trying to do I might be able to provide more specific advice.

_
Don't be a Help Vampire - read and abide the forum guidelines.
If you find my assistance useful, please pay it forward to your fellow drupalers.

Example coming right up...

tchopshop - July 8, 2009 - 20:44

...lol... my description can't be so excellent then... but pictures do speak louder than any words so here's a URL:

http://www.angelakinggallery.com/newsite/

...please ignore the home page -- i haven't done anything to it yet.

go to Thomas Arvid -- the first artist under the logo. There is a carousel in the 3rd column that shows his artwork. The thumbnails link to a detail page.

I have only added one image in the Andrew Baird category so far, but that will show you how my views carousel in filtering the Artwork Content Type.

Elena

oops... permissions not set right

tchopshop - July 9, 2009 - 04:28

Sorry if you couldn't see the carousel images... I hadn't set the permissions correctly... should be good now.

Elena

_

WorldFallz - July 10, 2009 - 14:35

Yep I couldn't see them at first. I've been playing around with this a bit, but I'm not that great at manually coding ajax. Personally, I'm not a big fan of the carousel style-- particularly when it comes to art. However, you should be able to theme that view and have the image links load the photo into a div on the page with the jquery load function.

Honestly, though, if it were me I would use something like http://drupal.org/project/imageflow, http://drupal.org/project/content_slider, or a slickly styled views_slideshow.

_
Don't be a Help Vampire - read and abide the forum guidelines.
If you find my assistance useful, please pay it forward to your fellow drupalers.

Slideshow vs Carousel

tchopshop - July 10, 2009 - 16:12

I don't even know how to begin to do a jquery load function.

The issue is that I need a bio to show for the artist first before the image gallery displays. And the main thing is that I don't want to make the bio the first slide in an image gallery... i.e. having one text page and the rest images in the carousel or slider or whatever you call it seems illogical to the user.

Imageflow is just a fancy looking carousel... and won't work vertically. Carousels, sliders and slideshows are all the same type of thing, just styled differently. My issue is that I have two things that I need to show -- a text intro, then a cluster of images... all on the same page.

Elena

_

WorldFallz - July 10, 2009 - 16:38

My issue is that I have two things that I need to show -- a text intro, then a cluster of images... all on the same page

I'm not sure I see the problem-- you can do this with views (either in a block or using views_attach). That's the easy part.

An option that can be more vertically oriented is http://drupal.org/project/views_galleriffic.

I would probably just put the bio at the top, and then just add a block with the slideshow underneath. As I said, if you really want the slider/carousel/whatever in one block and the larger picture to appear in another I think you need to code that-- i don't know of any modules that work that way offhand.

Another option is a popup like lightbox2 or shadowbox.

_
Don't be a Help Vampire - read and abide the forum guidelines.
If you find my assistance useful, please pay it forward to your fellow drupalers.

it's hard to describe

tchopshop - July 10, 2009 - 17:15

it's hard to describe, and no I don't think you're understanding why the distinction is important (to me).

If I put the bio at the top, then it takes up valuable real estate, and I have to scroll down the page to see the images.

I want to show the bio, then have it go away.

For example I want the functionality of the old site, done a long time ago in frames and iframe.

Please go see: angelakinggallery.com

You go to an artist page and read a bio and can easily scroll through thumbnails of his/her images.

Clicking on an image brings you to a page with a larger image, but the iframe is also there, so you just need to click a different image to go somewhere else.

The area with the thumbnails is on *both* pages -- the one with the bio, and the one with the larger image.

If I use a galleria type solution -- I cannot separate the thumbnails from the galleria itself (they come together in one block), and just show the thumbnails, alongside the bio.

Do you see now????

Or am I completely stupid?

Elena

_

WorldFallz - July 10, 2009 - 17:32

lol, you're not stupid-- if anything my brain is refusing to process. But I think i get it now-- the link to the old site was what I need to see for the light bulb to go off.

Ok, you can do this-- either with the carousel vertical or horizontal, it shouldn't matter. You'll need to create a second page view for the click through page -- I would definitely use views_slideshow or someother slideshow for that page as the page refreshes are very irritating.

Then in the carousel view, you might be able to change where it links to by using the "Output this field as a link" option -- but I'm not 100% sure. However, if it can't be done that way, it absolutely can be done by theming that one field of the view (see http://drupal.org/node/352970 for step by step on how to theme a view). You'll want to change to link through to the page view you created that has the slide show.

_
Don't be a Help Vampire - read and abide the forum guidelines.
If you find my assistance useful, please pay it forward to your fellow drupalers.

a little over my head?

tchopshop - July 10, 2009 - 20:56

thank you for looking...

I want to say I understand you perfectly but I'm not quite grasping what you're saying.

I tried to Output this field as a link, which is an option, but can't figure out what path that would be.

Also, the second page view is a slideshow? but how then does the same carousel end up on the slideshow page to control which image is shown?

oh so confused....

Elena

_

WorldFallz - July 10, 2009 - 21:19

It's a lot to grasp I know-- be patient with yourself. You can provide views an argument, in this case for the artist, that it will take to retrieve the appropriate slideshow on the second page.

For example, you can set up the slideshow to appear at "site.com/artist/artistid/slideshow" (or whatever you want to call it) -- the "artistid" is just a placeholder for the id or name or whatever you want to use for the artist. Views takes that 'argument' from the url and knows to display the images for that particular artist in the slideshow.

Try to get that 2nd page slideshow working, then we can deal with the details of wiring the 2 pages together.

_
Don't be a Help Vampire - read and abide the forum guidelines.
If you find my assistance useful, please pay it forward to your fellow drupalers.

set up slideshow

tchopshop - July 12, 2009 - 16:01

Ok, I set up the slideshow using the content rotator and I couldn't figure out how to set the path you suggested, so I used artwork/%, where % is the artist. If you go to http://angelakinggallery.com/newsite/artwork/1 you will see a slideshow of Thomas Arvid's artwork.

You also see the carousel in the right block, also filtering correctly for Thomas Arvid. However, the two are not connected.

I don't want the main image in the slideshow window to rotate by itself -- only when a user clicks a new image in the carousel block.

How do you wire the two views, I'm very curious.

By the way, I tried to install Views Slideshow first, but for some unknown reason it didn't work at all, even though it from the video it looked like it was really simple to install. I installed the Content Rotator and did the same thing (simply changed the Style setting) and it worked right away. I'm wondering if there is a conflict with something else i have installed on my system which made the Views Slideshow not work.

Elena

_

WorldFallz - July 13, 2009 - 18:28

This is probably progressing beyond what can be described in a forum thread. Sorry I wasn't clearer-- I was only proposing setting up the pics in the carousel on the first page to link through to the other page (done by theming the field output by views to link where you want it to link) where there would be a slideshow using a different module (probably gallerific or galleria).

If you want to use the same exact carousel on the second page as you use on the first we're back to the same problem of ajax coding since the carousel module you're using doesn't include this functionality. I know it can be done, but I don't have the ajax skills to tell you how beyond what i've already posted in previous comments.

_
Don't be a Help Vampire - read and abide the forum guidelines.
If you find my assistance useful, please pay it forward to your fellow drupalers.

I was wondering...

tchopshop - July 13, 2009 - 20:01

Darn! I was wondering what magic you were going to reveal!

But I had a feeling that I'd misinterpreted what you were saying.

Yes, I can see how that would be a compromise... but, for aesthetic reasons, I'd like the same type of user interface on both pages... in this instance a carousel format.

Elena

Some Drupal beginner thoughts + image & text galleries

Drupalace - July 10, 2009 - 05:06

tchopshop, I read your post with interest. First, regarding your general newbie questions about how to put things together in Drupal, I created a new page with a big overview of topics for Drupal beginners: http://www.drupalace.com/drupal-for-beginners

Looking at your posts, I think you're far beyond needing it, but maybe there's a link or something in there you'd find useful. So FYI.

More to the details of your posts, I've just been trying to do what I think is something similar: build a gallery out of some Image nodes I have. There are plenty of ways to display image galleries, but my specific wish – a gallery of images which, when clicked, display a larger image *with accompanying text* - is proving elusive. Spent hours yesterday trying all sorts of solutions, with no luck. I suspect it's just a case of me overlooking something obvious, but I'll post a thread elsewhere soon asking for help. (I'll come back here and reference it.)

In the meantime, if you investigate Views Galleria or other solutions, please post here whether you come up with something useful!

--------

Manuals, Q&A and more for the Drupal beginner

_

WorldFallz - July 10, 2009 - 14:28

views_slideshow should be able to do this-- if you look at some of the samples in http://drupal.org/node/370881 it can definitely do gallery images with text-- it would just be a matter for styling to get it looking like something other than frontpage slideshow.

For a slightly different take on this see http://www.theskindrop.com which uses the method described at http://www.deciphered.net/blog/2009/02/14/howto_mouseover_labels_textimage.

_
Don't be a Help Vampire - read and abide the forum guidelines.
If you find my assistance useful, please pay it forward to your fellow drupalers.

thank you drupalace

tchopshop - July 10, 2009 - 16:19

Thanks for your overview... I do think explaining the whole node thing should be the more front and center in the documentation. I read two books and really still didn't wrap my mind around it.

Please let me know if you have luck on your image gallery with text...

I want that, plus *more*, lol... the intro bio displayed first, replaced by images from the gallery... once the user starts exploring the artwork.

I know one could do a coda slider type thing putting the bio as the first "slide" in the gallery. But for the user that seems strange, since there will only be one bit of text and the rest images... like mixing one apple with a bunch of orangutans.... :)

Elena

Subscribing!!

aac - July 13, 2009 - 19:08

Subscribing!!

Subscribing!!

zoia - August 20, 2009 - 08:27

Subscribing!!

 
 

Drupal is a registered trademark of Dries Buytaert.