I'd like to be able to add multiple Paragraph components to a Block in Drupal 8.
A Paragraph type will be created with fields in it, and the ideal use case for the user is to add a new paragraph field that works like Entity Reference's.
Just wondering if there is an out-of-the-box solution for this, or am I looking at a custom implementation?
Thanks in advance!
Yes you can do this by:
1: Click Structure
2: Click Block Layout
3: Click Custom Block Library
4: Click Block Types Tab
5: Click Add Custom Block
From here it is the same as creating a standard content type. You then apply the block type you just created to a new custom block.
Hope this helps. Images are for Ref.
Stage 1
Stage 2
Create Custom Block type from "admin/structure/block/block-content/types/add"
In "Mange fields" select "paragraph" from the "Reference Revision"
Now Select the paragraph that you created as shown below.
paragraph block is also an option . https://www.drupal.org/project/paragraph_blocks
Related
For a Drupal site I'm building, I've used the Views module to create a custom view that shows the top 10 most popular taxonomy terms. I'd like this list to show up in my site's header but I'm having trouble accomplishing this. I can get the header to display a link to the page for the view, but haven't figured out how to actually display the content of the view in the header node.
Also, if there's a better way of accomplishing what I'm trying to do, I'm all ears!
You should create view with the "block" display. This block can be placed in any region using standard block/theme functionality.
If you don't have "header" region, you can create your own. See this link for details.
https://drupal.org/node/1088718
Maybe, i do not quite understand you question (actually, phrase "header node" confused me, you mean header area/region?). If you need to display view on the node page, you can use views_attach ot eva modules.
Option 1:
Create a region in your theme.
Render the region on your theme page.tpl.php
Create a block display of you view and assign it to that region.
Option 2
You can create a view and then embed it in your theme file using views_embed_views. For details https://api.drupal.org/api/views/views.module/function/views_embed_view/7
Hope this solves your problem
I have recently installed the Panels module. It allows me to create custom layouts for my contents. Now, what i wish to do is, choose these template layouts while creating/editing a certain type of component so that when viewed that content appears in the selected layout.
Hope I made myself clear. Please excuse me if this topic has already been discussed. If so, providing me the link of the post will be helpful enough. Actually I am sort of a newbie in Drupal and more so in the Panles module. So not really sure if my requirement is feasible in the first place.
Thanks in advance...
You can do this by adding a field in your Content type for example of type List (text) > Select list. Each list item will represent a Panels display.
Then create a Panel display variant to override the node template (/node/%node) where you have to add the Selection rules: "YOUR List(text) field". So each variant will display if user selects the connected list option.
If you want to see the selected display online without clicking the Save button you will need probably an ajax effect.
Understanding your question here I'll try to break it down. In order to use a panel layout for node add/edit you can chose to create the layout under /admin/structure/panels
Then you create a new variant. In the variant's [context] tab you'll add the context rule "Node add form", don't worry about the edit form aspect. The Node add form will cover the edit form and the additional contextual rule is to target a specific node. Then you can customize your layout and add in all the form fields in the content tab. Don't forget to add in the node submit button. Now after you've created more than one variant you can enable, disable and order them as you like which covers the specific layout for node type.
The panels layout will order it as you like. If you want control the theming from a non-administrative theme perspective you can disable general admin theme forms in /admin/appearance by unchecking "Use the administration theme when editing or creating content" at the bottom or targeting specific node types by creating a module and having:
<?php
/**
* #file
*/
/**
* Implements hook_admin_paths_alter().
*/
function disable_admin_theme_paths_alter(&$paths) {
$paths['/node/add/node-type-name-here'] = FALSE;
}
Assuming your module's name is disable_admin_theme.
I've been making a template for a particular content type, but just ran into a problem: I need to embed a view into the content type.
I am aware this can be done via several different methods, but I don't see one that fits exactly my needs:
I need the view added automatically for all pages of that content type.
Using blocks in a region is not an option, as I want to avoid defining a region in the middle of a page that should only be available for a specific content type.
Translatable label.
Possibility to freely apply a template to all fields in the content type (excluding the embedded view).
I tried doing it via page layout (Panels) and simply adding node content fields and the view to my layout regions, but then I get another problem: I can't style my content fields without doing something that seems a bit over the top:
Currently I have about 20 different content fields in the content type that are wrapped in HTML and styled in my template file. I have a translated label for each of these in the template file. From what I can tell I'd have to add a template for each of the panes containing content fields to add my translated labels and HTML needed to style each field.
I'm not really fond of making 20 templates, 20 theme hook suggestions to get the templates to work and 20 regions in the panel layout just to get a view inserted in the content type.
Am I doing something terribly wrong here? Any suggestions?
You may want to try the Viewfield module or similar modules (search for "view field" or "view reference").
If you are doing something more complex like changing/filtering the view based on some value in your content type, then you may have to use Viewfield module in combination with something else that will help fill in the filter values.
I've never done something like this before so I'm not sure exactly what module combination would work but Rules or Computed Field come to mind as possible helpers.
You have to use "views node field" http://drupal.org/project/viewsnodefield, after installing this module you have to select the "Node content" in the display (like blocks,page). then click the add display. if you want to display the content like this page http://www.richtown.ae/?q=content/arabian-ranches then you have to download the views_galleriffic module and install it and choose the style option "Galleriffic Gallery". You can choose the content type by using the filter in the views.
That's it cheers
i implemented this in my website richtown.ae
if you still unclear please send me the email social#richtown.ae i will reply you & ready to help you we can share information
i am using this module in drupal 6.
I resorted to using the EVA module ( http://drupal.org/project/eva ).
In addition to Woodgnome's answer
Let's say you have a content type named 'Product'
You want to attach a view to it.
Here are the steps using the eva module :
On your view edit page :
Section Displays
+Add : Eva field
Section ENTITY CONTENT SETTINGS
Entity type:Node
Bundles:Product
That's it, going to a node product type will now display the view
I want to create a list box in a region that has been created by me. Any help would be highly appreciated! I dont understand how to go about it. How can I add just a list box in the existing page?
You should create block (html or php filters should be enabled), put there your list box html code, then place this block into region.
But, using drupal way is recommend - drupal api - create simple module, add form function with list box (select field) and call this form from block hook.
By default for creating content a new page is opened. I want to do this inside a block. A block where there will be some fields like title body taxonomy terms and a create content button. How can I do this?
The form block module will do what you want.
You could you do the same thing in code, using hook_block to create a block. And using
drupal_get_form to render the form.
Try the Panels module.
http://drupal.org/project/panels
It will let you override and re-arrange the node add/edit form.
But, as Jeremy stated, to use this form on other pages of the site you will need to do something custom like hook_block and invoke drupal_get_form.
I agree with the answers from Jeremy and Kevin, but want to give another one.
You can use views to create the block! All you have to do is create a new view display with a block display. Add the fields you want to show, add a link field for the node/add/foo link and give it a node id filter or default argument. Here you have to choose the node id of the node to display in the block. Done!
What's nice with this solution? You can use almost every feature of views theming, drag and drop field ordering, adding new fields is cheap and no extra modules. ;)
Regards
Mike