Some imaging galleries allow you to embed a picture within story nodes. For example, we could use a notation of [gallerix:5#15] to get image 15 out of gallery number five. How difficult would this be to accomplish using Gallerix?

Comments

silviogutierrez’s picture

I like this suggestion a lot. I've been teaching myself how to write filters lately, so it shouldn't be a problem. I'll put this near the top of my to-do pile for v1.3.

Silvio

etamar’s picture

Thanks Silvio, can't wait to see it coming up!

All the best,
Etamar

silviogutierrez’s picture

Status: Active » Postponed

I really do like the sound of this feature, but I've got some more critical features to add. I hope to put it into v1.4.

Silvio

eoneillPPH’s picture

We've done something similar, though a bit more involved... I aded a CCK node-reference field to the "Album" content type. I called it "Story Link" (field_story_link_nid) and made it an auto-complete with default value of the following php code:

if (is_numeric(arg(3))) {
  return array(0 => array('nid' => arg(3)));
}
else {
  return array(0 => array('nid'));
}

and set it as allowed to reference nodes of type NOT including "Album" (that may be moot, for our situation of setting a default value -- also see next code bit).

Then, on our node template, I added this:

  <?php if($node->type!='album' && is_numeric(arg(1))): ?>
	<div class="gallerix-link">
		<a href="/node/add/album/<?=$node->nid?>">Click here to add a photo album to this story</a>
	</div>
  <?php endif; ?>

So clicking this link results in a gallery referenced to the story node it was created from. THEN!! I added a new block type in the gallerix module that I called "associated pictures", enabled it for the content area of my choice (right sidebar) and configured it to only show up if there is an arg(1) and it is numeric:

<?php
  if (is_numeric(arg(1)) {
    $node = node_load(arg(1));
    if ($node->type != "album") return true;
    else return false;
}
else return false;
?>

Edit: Or, if you're using Clean URL's, set it to be visible for all pages except album/* and any other types you wish to exclude (I believe this might save a db hit)./Edit

The block is just a copy of the blocks Silvio already defined, with this change to the sql statement:

  $sql = db_rewrite_sql("SELECT g.pid FROM {gallerix_pictures} g INNER JOIN {content_type_album} n ON g.nid = n.nid WHERE n.field_story_link_nid = %d GROUP BY g.pid ORDER BY added DESC");

Not yet running "live," but it's working on our development box. Perhaps it'll help somebody else out there...

AlexisWilke’s picture

Status: Postponed » Closed (won't fix)

5.x is not supported anymore. Closing this issue.

Thank you.
Alexis Wilke