Im building this project managment site that uses organic groups to sort and name projects.
So I have example.com/project/6. Where 6 is the organic groups views argument of %1.
What I am struggling to do is be able to create links that send for example 'gallery' to the end of the URL so example.com/project/6/gallery would show the gallery for project 6.
I am trying to create a global menu where all items would work for any organic group you may be within. So if you were within project 5 (http://example.com/project/5) the same menu item of 'Gallery' could be used to display example.com/project/5/gallery.
I have tried with all normal drupal menu methods but %1 is never accepted.
The main thing is to be able to send for example '/gallery' to the end of the URL, or use any other method to achieve this.
Hope I have explained myself correctly.
Many thanks in advance.
You can use block plus view, assuming all your gallery rests in its own custom content type, put the view inside the block while using arguments to control what is displayed.
The basic structure look like this:
Page example.com/project/6
load page project 6 normal content block
load block gallery, argument read the url end with 6,
load pictures related to that node.
Related
I am using Drupal 8.
I am trying to create a block display to show a list of teasers with the taxonomy term of the current node, within a custom region.
The problem is that when I navigate to the page which contains the custom region no content is displayed.
Other blocks display fine when assigned to the custom region so I don't think its anything to do with my templates.
The same view also has a page display (basically the default taxonomy term view) which shows content correctly when i navigate to the node.
I am a relative Drupal newbie so may be missing something obvious here but as far as i can tell the taxonomy view works as a page but not as a region, so either it must be something to do with the block configuration, or Drupal is just not meant to work like this.
Can anybody suggest what might be causing this, or if this is a bad approach explain why?
are u using exposed filters in your view ?
For it to work in blocs , u need to configure in your view
ajax:on
this is my first website in Drupal 7, I'm trying to learn this framework, but I'm encountering a problem to which I could not find a solution yet.
I'm trying to create a page with a panel that has 2 views (as seen in this photo), the left view contains a list of categories (terms from taxonomy) and the right view contains a list/grid of projects (Content Type). Each project is of a single category and when I click on a category on the left side I want it to filter only the projects of that category on the right side, in the same page (or a new page with the same layout ../projects/category_term_1).
What happens now is that when I click on a category, I'm taken to a page that diplays the projects listed as taxonony term ( ../taxonomy/nr_taxonomy) different layout (like blog, but without categories on the left side).
I have aces to another project where the functionality that I want is implemented is a sort of similar type of pages. I tried to replicate all configuration from that site to mine, but the only difference that I'm able to notice is that the value of "STORAGE" column the administration/structure/pages is "normal" for my website and "in code" for the other site.
Site's layout:
https://www.dropbox.com/s/ep72wnpah42mdv3/site_layout.jpg?dl=0
Thank you!
I think your main view should use a contextual filter, based in the URL given. This way, the view would only show those projects in the specified category.
In the left view, you should show the taxonomy terms, but you should modify the URL given with your custom one: www.example.com/projects/taxonomyTerm
Hope it helps
Is there anywhere online where one can find how to create custom blocks in the same way we can create custom content types in Wordpress. The desired result is to add a block that will allow the user to add/edit custom fields like client name, portfolio description, portfolio thumbnail.
I've created a free tool called "Designer Content" that lets you easily generate these custom blocks:
http://www.concrete5.org/marketplace/addons/designer-content
That being said, it is important to understand this key concept: In Concrete5, everything revolves around PAGES. In general, you want to try to establish an architecture where each piece of data is represented on its own page (a "details" page, which would roughly equate to a single blog post in Wordpress). Then you use the Page List block (usually creating a custom template for it to modify its look) to list out titles, links, and excerpts/photos from each of those "details" pages on a top-level "index" page (roughly equivalant to the home page or category archive in Wordpress).
For example, if you're building a portfolio site, you might want one top-level "Portfolio" page that shows a thumbnail and title of each piece, then a "Portfolio Item Detail" page type that contains one piece per page -- each living underneath the top-level "portfolio" index page.
The benefits of this approach are C5 gives you out-of-the-box tools to manage your "data" (pages) in this way -- users can add, edit, delete, and rearrange the pages via the "Sitemap" in the dashboard. Site search works without any modification -- each page (i.e. portfolio piece) will be its own search result with a link to a specific page. Also you then have more fine-grained control over access permissions if you ever decide to restrict access to only certain groups of people (registered users, etc.).
If you take this approach, you might find the "Page List Teasers" addon helpful (it will let the Page List block -- which you're using for your top-level "index" page -- to show actual content excepts from the pages instead of just a separate "description" field):
http://www.concrete5.org/marketplace/addons/page-list-teasers
Or if you want to dive deeper and customize the page list template even more, I have a starting template with a ton of code comments in it explaining how to do different things here:
https://github.com/jordanlev/c5_clean_block_templates/blob/master/page_list/view.php
But... if you're only talking about small amounts of information and you think a separate page for each one is overkill, then the Designer Content approach I linked to first will work just fine.
You can find a HOW-TO on creating new blocks written by Franz Maruna on the concrete5 website.
Here is the link: Creating a New Block Type
There is also a simple block you can download and install to help you follow the developer tutorials. You can find that here: Simple block template
so..I created page--front.tpl.php in my theme directory and it works fine.
now, how do I make a variable that can be used in the page--front.tpl.php?
I can write my php codes inside page--front.tpl.php, but I think there is a better way.
added:
on the front page, I am going to query video and news nodes ONLY. That is why I want to make a new module for only front page.
any suggestions?
I'm not sure what you are trying to achieve here, but OK. You have two options: one is what you're doing now. Write your custom PHP in page--front.tpl.php and you'll be fine. The other is ditching the file and working only with page.tpl.php.
The variable $is_front tells you whether you're on the front page. You can write custom PHP in a conditional block: if ($is_front) { ... }.
Also, you can create a custom block (a view, perhaps, depending on your needs) and set its display restrictions to "only on the listed pages" - and list there. You'll have a custom view loaded only on the front page.
All you need to do have a custom front page is configure your front page in the site information settins (admin/settings/site-information in D6).
Creating a module to display that content is then a completely different thing.
What I would really suggest is looking at Views if you don't know it already. That allows you to build lists of things (nodes, users, ...) and expose them as pages, blocks, rss feeds and much more. You can create a list of nodes with types video and news, expose that as a page and then just point your front page to the path of your view.
you might try using the views module to create your list of videos and nodes. You can set a views page to be your homepage in the site settings.
How can I embed a node on the front page in Drupal 6. The node basically has the image upload field along with title and description. I want it to some how appear on the homepage alongwith a "views" which shows the uploaded images at the bottom.
What I want is to give the users an ability to create content which is right now available at .../node/photo/add. I want to somehow show this box which lets one create content i.e. upload photo with title and description on the homepage.
It's basically just an attempt at creating something like imageshack as an experiment.
I am pretty n00b when it comes to drupal so please be more descriptive.
Jukebox's solution works as a point-and-click method. If you want to do it with code, it's more like this:
create a glue module Handbook | Example Blog Post
turn it on in admin/build/modules
create a menu item using hook_menu() that will become the page
embed the node with node_view()
embed the view (blog post)
in admin/settings/site-information set your page to the
You can use the Node Blocks module to, well, turn your node into a block. This means that you can go to the /admin/build/block page and place your node in a particular region.
After installing the module, edit the Content Type of the node you want to turn into a block. Under Workflow Settings, Available As Block, choose Enable.
Now you can go to /admin/build/block and you can see some new blocks. Just choose the one you want and place it in the region of your choice. You can also configure that block's visibility settings from there as well.
If your planning on having a more complicated home page at any point in the future I'd highly recommend using Panels to do this. It will allow you to arrange your front page with views and nodes in a grid method.