add a button to a block - drupal

I am very new to drupal and need some assistance. I created a view for a news blog. I want members to be able to be able to create news blogs, which would have to go through an approval process before being displayed. I wanted to add a button called "create" or whatnot to my view which would allow the user to submit a news blog entry that would go to an approval queue to allow a moderator to edit before publishing. This is not a regular blog (which don't need moderated). It is specific to a "news blog" which is how we are referring to it. What is the best way of accomplishing this work flow and how would I go about creating the button?

In Views, you have the option of adding a header and/or footer to your view. It gives you a textarea which you select what filter you want to use (Full HTML, PHP code, etc). I would suggest utilizing a header/footer and adding an image as a simple HTML link to the blog creation page.
As for your workflow, I would suggest taking a look at:
Workflow
Content Moderation
Revisioning
Rules
Here is an example to get a workflow going with the Rules module: http://drupal.org/node/550716

Related

How To Add Custom Field In woo commerce product listing admin page in Wordpress

I am very much new to wordpress and need help. Well I need to add a custom field to woocommerce product listing page in admin and make it work.
So where do I have to make changes in code or in admin section.I need some suggestions on how to make it work.
Thanks in advance
if I'm understanding you right you want to add new fields to your woocommerce products, and you want those fields to show up in the admin panel. I am working on this right now myself and I have found a few good resources.
First of all, although I can't find any documentation on them yet directly in the woocommerce API docs, there are two hooks for extending the admin panel.
woocommerce_product_write_panel_tabs - this allows you to insert a new tab within the admin panel. from browsing the source of various free woocommerce plugins that do this it appears that the tab format should be <li>Tab Name</li>.
woocommerce_product_write_panel - this is where the insertion of your custom panel contents would go, placed within a <div id="#tab_name"></div>
These are the two hooks that I have had a great deal of difficulty locating. They allow you to hook into the actual woocommerce admin area, otherwise custom fields you might add will end up in a separate panel.
For all the details on actually adding the custom fields themselves and hooking them up to the front-end, I suggest this tutorial here, which covers the basic concepts involved in adding a new meta-data field and hooking it into the product display (in this case the single-product detail view, it sounds like you want to modify them in the list view but this will show you the basic principles).
http://www.xatik.com/2013/02/06/add-custom-form-woocommerce-product/
Note: that tutorial doesn't use the woocommerce admin panel but creates its own panel, the instructions I gave above, plus this tutorial, should get you just about anywhere you need to go.

Any Plugin or suggested Design for user to perform an Custom action on Wordpress content

I need to make a Wordpress website having lots of recipes.User will be allowed to read and click on "Cooked" button associated with that particular Article. I would like to store who all user have Cooked that recipe and show it when I am showing the Recipe.
Is there any plugin available which can store User Activities on content(like we have comments plugin) or else what should be the best way to do this?
Take a look at WP Favorite Posts plugin which allows visitors to add favorite posts.
and set the label as "Cooked" instead of "add to favorites" , this will be the easiest way to do it but if you are up for some custom coding then it's simply a matter of saving the recipe post id in the user meta using update_user_meta

Concrete5 Custom Content Types (Blocks)

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

How to create a 'blog settings' tab in drupal to move all blog related edit forms to one place

I dont know if im asking the impossible, but i want to have a tab in my user edit area that houses all blog related items (ie blog theme, blog info, user blogroll) as opposed to them being inside the user/%/edit and user/%/edit profile.
Im putting together a multi-user site and this is crucial for user-friendliness.
Thanks for any ideas!
Nothing is impossible with Drupal, but doing this would be a challenge.
With hook_form_alter you can alter any form you want. The code for this would have to go to a custom module. Then you would have to recreate the form, with a page callback, and handle the validation and submission. You can probably recreate the code from the modules that create the forms in the first place.
Alternative, you can just leave the settings at user/%/edit and other places, and just create a special form with all blog relevant info. That way the users choose where to edit their info. It will probably be a better choice, since the "blog settings" that's location at user/%/edit, will be more tied to the user, than to the blog. So when a user wants to edit some of his personal details, that's when he would want to edit those blog settings as well.
Your specific might be different, but the default setup is usually a very good default.

Editable content area for user with restricted access

I'm building a blog for a client and they need to be able to edit a paragraph of text in the sidebar. I currently have it setup as a 'Better Text' widget which I can quickly edit for them.
I don't want to give them access to the widgets, etc but they want to be able to edit it themselves. Is there an easy way to add a custom write panel kind-of-thing that's independent of the post & page structure?
I know I could create a separate post category and pull the particular post into the template but i'm looking for something different.
Anyone got any ideas? thanks in advance,
Greg.
Why not just add a a custom field for that specific page, and let them have a login which allows them to edit that content?
The point of using a CMS, is to allow the customer to edit the content themselves.

Resources