Create an account

Very important

  • To access the important data of the forums, you must be active in each forum and especially in the leaks and database leaks section, send data and after sending the data and activity, data and important content will be opened and visible for you.
  • You will only see chat messages from people who are at or below your level.
  • More than 500,000 database leaks and millions of account leaks are waiting for you, so access and view with more activity.
  • Many important data are inactive and inaccessible for you, so open them with activity. (This will be done automatically)


Thread Rating:
  • 465 Vote(s) - 3.46 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to quickly theme a view?

#1
I've defined a view with the CCK and View 2 modules. I would like to quickly define a template specific to this view. Is there any tutorial or information on this? What are the files I need to modify?

----
**Here are my findings: (Edited)**

In fact, there are two ways to theme a view: the "**field**" way and the "**node**" way. In "edit View", you can choose "`Row style: Node`", or "`Row style: Fields`".

- with the "**Node**" way, you can create a **node-contentname.tpl.php** which will be called for each node in the view. You'll have access to your cck field values with $field_name[0]['value']. (edit2) You can use **node-view-viewname.tpl.php** which will be only called for each node displayed from this view.
- with the "**Field**" way, you add a views-view-field--viewname--field-name-value.tpl.php for each field you want to theme individually.

Thanks to previous responses, I've used the following tools :

- In the 'Basic Settings' block, the 'Theme: Information' to see all the different templates you can modify.
- The [Devel module][3]'s "Theme developer" to quickly find the field variable names.
- [View 2 documentation][1], especially the ["Using Theme"][2] page.


[1]:

[To see links please register here]

[2]:

[To see links please register here]

[3]:

[To see links please register here]

Reply

#2
A quick way to find the template files you can create and modify for a view in Views 2.0 is to:

1. Edit the view
2. Select the style (e.g. page, block, default)
3. In the 'Basic Settings' block click on 'Theme: Information' to see all the different templates you can modify.
Reply

#3
The [Devel module](

[To see links please register here]

)'s "Theme developer" feature is handy for seeing what template files Drupal is looking for when it goes to theme something. See the screenshot on that page for an example.
Reply

#4
In fact there are two ways to theme a view : the "**field**" way and the "**node**" way. In "edit View", you can choose "`Row style: Node`", or "`Row style: Fields`".

- with the "**Node**" way, you can create a node-contentname.tpl.php wich will be called for each node in the view. You'll have access to your cck field values with $field_name[0]['value']
- with the "**Field**" way, you add a views-view-field--viewname--field-name-value.tpl.php for each field you want to theme individually.

Thanks to previous responses, I've used the following tools :

- In the 'Basic Settings' block, the 'Theme: Information' to see all the different templates you can modify.
- The [Devel module][3]'s "Theme developer" to quickly find the field variable names.
- [View 2 documentation][1], especially the ["Using Theme"][2] page.



[1]:

[To see links please register here]

[2]:

[To see links please register here]

[3]:

[To see links please register here]

Reply

#5
My shortcut option.

1. Go to **theme.inc** file in **`YOUR_MODULE_DIR`/views/theme/** folder.

2. In the **`_views_theme_functions`** function print the **$themes** variable or put a breakpoint on the last line of the function to see the content of the variable.

Just convert **`views_view`** to **views-view** and __ to -- and add your template extension to get desired file name.

For example if an element of the **$themes** array is **`views_view__test_view__block`** (where `test_view` is the name of your view) then the name of the template file would be **views-view--test_view--block.tpl.php**.
Reply

#6
for me <b>block-views-myViewName-myBlockId.tpl.php</b> works
Reply

#7
In my opinion the simplest way to decide which template file to use for theming the views is :
1) Click on admin/build/views/edit/ViewName -> Basic Settings -> Theme

Clicking this would list all the possible template files. Highlighted (File names in Bold) files indicate which template file is being used to do theme what part of the view. After incorporating the required changes in the relevant view template file RESCAN .. now you should be able to see the changed template file highlighted .
Reply

#8
You should also check out [Semantic Views][1]. For simple Views theming, it is *really* handy.


[1]:

[To see links please register here]

Reply

#9
One tip:

You'll likely have a number of views which require similar formatting. Creating templates for each of these views and copying them creates a nightmare of code branching - if you're asked to change the whole look and feel of the site (implying changing the display of each of these views formatted in this particular way), you have to go back and edit each of these separately.

Instead of using the views interface to select new templates for views, I sometimes simply insert some code branching into a single views file. E.g. for one site in `views-view-fields.tpl.php` I have:

if($view->name == 'articleList' || $view->name == 'frontList'
|| $view->name == 'archiveList') {
/* field formatting code */
} else {
/* the default code running here */
}

This then modifies the fields in the way I want only for this family of Views = articleList, frontList and archiveList - and for other views using this template runs the code one normally finds in this template. If the client asks, "Hey, could you make those pages showing the archives & that list on the front page to look more like ( ... )", it's simply a matter of my opening & editing this one file, instead of three different files. Maintenance becomes much more quick & friendly.
Reply

#10
If you want to do quick Drupal development with a lot of drag-and-drop, the Display Suite module def. is a something you should use:

[To see links please register here]

Reply



Forum Jump:


Users browsing this thread:
1 Guest(s)

©0Day  2016 - 2023 | All Rights Reserved.  Made with    for the community. Connected through