How to define drupal template for individual page - drupal-7

I'm new to drupal and i've looked several tutorial although i am not quite clear on themeing.
My main problem is that i've got plain html and i've started to edit it and started to generated to look like drupal dynamically generated page but have got other pages like contact/aboutus and all the static page which are supposed to be only at home page are being displayed at other of my pages how to make drupal understand different pages?

What do you mean with "Make Drupal understand different pages"?
You could just create them (Content -> Add content -> Basic page)and they are there.
It you mean theming the pages differently you might want to read https://www.drupal.org/documentation/theme
Or if you want to theme specific pages: https://www.drupal.org/node/104316

You might also want to use the theme developer module https://www.drupal.org/project/devel_themer that tells you where you can override different parts of your page.

Related

How do I modify Drupal's Admin Screens?

I'm looking to edit Drupal's admin pages.
Some of the things I'm trying to achieve:
Remove is the the filter setting on the Content page/node/view. In other words, if I go to to the Content page and I filter by a certain type of node, then I leave that page, then come back, the filter setting is saved, I'd like it to reset each time I visit the Content page.
I would like to modify some of links associated with these pages, as an example on that Same Content page, the titles of the pages are linked to their 'front-end' views, I'd rather have them link to their 'edit' screens.
While I have been successful in modifying the front-end theme of Drupal, by editing the actual php files. I can't find the the same php files for the Admin theme. In our case we are using Seven (7.21). I've read something about views, and thought maybe the entire Admin theme is built as views, aka there no php files involved like the front-end theme has, but under the Views section I did not find any either. I'm still pretty new at this and coming from the Wordpress world, this is a Drupal is a lot different.
The logic for that section of the admin area is at (from the public root):
/modules/node
Specifically "node.admin.inc"
That being said, I don't recommend editing core scripts, as they will be overwritten when you update the core.
You could explore making your own module to supplement that page, or your own view or explore some pre-made modules, such as "Admin Views"
Find de view displayed and go to its configuration :
1 - Edit configuration view like suggested here : https://drupal.stackexchange.com/questions/44440/how-to-remember-exposed-filter-choices
2 - Rewrite output views to rewrite link : field https://www.drupal.org/node/1578524
Another option is to create and use your own dashboard/views to achive like you want http://definitivedrupal.org/suggestions/creating-custom-administrator-view-content
also you can see contrib module : https://www.drupal.org/project/admin_views
You don't have to use that default content overview page at all. Make your own instead:
Make a page view (you have to install views module if you already did not: https://www.drupal.org/project/views) and use table layout. Make sure that page paths starts with "admin" so it will use admin theme. Also pay attention about permissions, so only specific set of users (admins) can use it.
For that view you can freely select what columns you what to show. You can also allow ordering by any column and action if you click on some field.
Use exposed filters to add filtering form, again add any filters you need. You can even set the form to use AJAX, to do auto-submit when some filter field is changed, include reset button and more. Also for every exposed filed you can select (at fields settings) should it remember it's value or not.
At end, edit admin menu and add your new page to it so it will look and act as default one but will offer much more functionality. You can even totally remove default one from the admin menu.
Views module is very powerful, not only for front-end but also for back-end content handling.

dnn - 2sxc - modules of a duplicated page / page template are using the same content

I created a page within dnn (v9.0.2, 2sxc 8.12.0) with all modules (only 2sxc content modules) like the page design had defined it. After this I created a template from this page. After this I created a couple of sites using this template.
My problem is, if I change the content of module A on page 1 - all modules A on the other pages 2..n of this template have this content now too. Same effect, if I use the duplicate functionality.
Does anyone have a hint how to use page temlating using 2sxc content modules?
What you need to do is open the template file in an editor and locate the section that describes the module. The best way to do this is to find the EntityId of the content item on the page from which you created the template. Then, find that number string in the template. Just remove the string, leaving the XML node otherwise intact.
When you build the page, you'll get a 2sxc module that is uninitialized and you'll need to specify the content.
If anyone is listening, I wish that this behavior was different. I'd prefer that the template assigned to the module could be preserved, but with the default content showing.
Basically the issue is that DNN has only one way to export a page, and we would need something where our code could contribute something before the export is complete.
At the moment there are two ways to do this.
One way is to use the method described by Joe, modifying the XML export
The other way is to place un-initialized blocks on the template page - meaning that you select your content-type / template, or your app, but don't start adding any content yet. This should result in the identical XML as the one modified manually.

Creating an index page automatically

I'd like to have dotnetnuke build an index page based on pages that have a particular tabid. Are there any modules that do this already?
e.g. we create multiple pages under /News and then the index page lists links to all the news articles. Would be handy if we could also enter our own HTML text (maybe on the News article page itself) that is then displayed next to each link on the index page.
Thanks!
By default, there are no 'real' pages in DNN. Everything is served up in the Default.aspx from content that is stored in the database.
What you could do is create a module that populates data based on the TabId or Path. Then, there is a setting in DNN to make a module appear on EVERY page. Since the module is on every page, it could populate its data based on the TabId or the path, or just not show anything if it doesn't match your criteria.
For something like that, I used a module called SQLGridSelectedView from www.tressleworks.ca (I have no affiliation) and I wrote my own SQL to fill in the fields, and I defined a custom layout (instead of the default data grid) so I was able to do something like what you are asking without code.
There is a module from Ventrian called Child Links that does what you are talking about. You can use it to grab title & description from the pages below a relative to a specific page to build out menus etc.
It allows for formatting however you want as well.

DotNetNuke edit navigation bar

Is there a decent way in DNN 7 to modify the navigation block at the top? I am completely lost.
I am using the "Awesome Cycles" content as a template for a class project. All I am trying to do is change out the word "us" in the navigation at the top for the word "me".
I'm sure there must be an easy way to do it, but I don't think I "speak the language" well enough to google this. I have been literally searching for three days, and I know I'm going to feel stupid once someone points it out but... Oh well.
Thanks in advance!
You are correct that you can simple change the Page Name in the page settings to control what displays in the Navigation. But be aware that changing a page name also changes the URL of that page.
Check out this video for how to avoid bad URLs after changing pages
http://www.dotnetnuke.com/Resources/Video-Library/Viewer/Video/213/View/Details/Renaming-a-Page-in-DotNetNuke.aspx
tl;dr - create a new page, with the old name, make it hidden (not in the menu), and have it redirect to the new page.

How do i reference other blogpost in a blog content - drupal 7 with views

I create blog posts in drupal 7 with the module "view" to display the content items as a blog.
However I would like to be able to reference old posts inline so as to reuse content and add traffic.
But my current workflow is to go and look at the old post and copy the url, like it was an external link.
This seems quite silly to do internal and would also break links if links changed.
How can I add these dynamically instead?
These two plugins does the trick:
CKeditor link - if you use the ckeditor
LinkIt integreates into other wysiwyg modules

Resources