Umbraco temporary page - asp.net

I was building an Umbraco 7.4.3 site, and I was ended up to this situation.
I have a node structure inside Umbraco like this.
So, I have a Student and Teacher node under Home.
The Student node will show a detail about student.
Now I want to have a page where I can edit a Student, "I want a separate page (not popup) linking to a page where I can edit a student", something like a /edit-student/?id=2.
But in order do that I will end up in a structure like this, see screenshot
See? I have an extra node EditStudent just to have a page where I can edit student, I can call this page by /Student/EditStudent/?id=2
But I don't want to have this node "EditStudent", I feel it was making my node structure dirty.
I want a solution that I can still have a url like this /Student/EditStudent/?id=2 but I don't want to see a node "EditStudent" under Student or somewhere else inside my Umbraco.
Is this possible to happen? something like a virtual url (but not aspx) pages.

Found the answer I posted at our.umbraco.org forum.
Just create a template and Ill name it as "Edit", then you can access like this url: /Student/Edit/, and of course you can add parameters.
If there is no other node name "Edit" found under Student then it will use "Edit" template as alternative.

Related

Steps for customize profile page

I'm working on a school project and I never use drupal.
So I want to display some users informations into their profile page like:
Username
Profile picture
City
...
I want them to update their infos (profile picture too).
Futhermore I want to be able to custom HTML structure of this page.
I red post saying that I should use Panels or Views but I'm so confused with these choices
Thanks for your help
If I catch up new technology, I used to read some source codes other programmers wrote. Fortunatly, Drupal gives up some sample source codes like user profile page and so on. I recommend you to read source code below and brash up your skills.
https://www.drupal.org/project/commons

Umbraco Member Tab - How to list the members

Requirement: I have a requirement such that, when a new user is registered in my application, his details should be stored in Umbraco Membership. I am Currently able to add the member to the umbraco site and i can see the added members under the Member Folder in the Member Tab. But the problem is if I added a person named "Vineeth", his details can only be viewed when I follow the path below
Member Tab - Member Folder - Letter "v" Folder.
Similarly for each alphabets. Is there any way that I could see them all together. The reason I wanted to get the added members together is because my workflow is "The admin has to give approval for the registered users". So its not a good process for Admin to search under each alphabetic folder for the newly added members and approve them. So is there any way to list them together. I think one option there is adding the user control and populating the details in Grid View in that user-control and then display. Is there some other way that I could use for my requirement.
I checked with the way the search functionality is implemented in the Member section. But I am not sure how does this work. I identified the aspx page. but it has the code like below. So I am not sure what logic is written in the Search button functionality. Could you please advise me how can I do this. The path I found this is
..\umbraco\Members\MemberSearch.ascx
Also I would like to know how is the list populated in the Search page.

asp.net sitemap - how to spoof page in breadcrumb when it's not in the sitemap (on purpose!)

I'm not experienced with sitemaps - only just started looking into them. I have an app where the user can choose to do a short quiz/question and answer session. As there are 10 sub-pages in the quiz (for argument's sake called q1.aspx, q2.aspx, etc.) and I DON'T want the user to be able to jump in at, say, q5.aspx, I'm not defining those individual question pages in the sitemap file.
However this means, I think, (from limited testing, it may be my error) that there is no breadcrumb trail available on the individual question page (as there is no matching entry for home/survey/quiz/q1.aspx in the sitemap) when I want there to be something like:
home > survey > quiz
where "quiz" at the end of the breadcrumb trail is a starter page (quiz.aspx for example) that has a link something like "start our quiz" and links to q1.aspx.
The idea is that all of the q1.aspx to q10.aspx pages have that exact breadcrumb trail whereby the user can simply click on "quiz" to go back to the first page again.
In the sitemap, make your q1.aspx, etc pages children of quiz.aspx.
One way you always have Quiz showing in the breadcrumb is have a method called on those (q1-q10) pages that makes the CurrentNode the parent of the CurrentNode.

Is there a Drupal module that can redirect from root URL to a certain page?

I wonder if there's a Drupal module that can do this kind of functionality: if i go to home page, it will take me to some subpath within the site. i.e. www.something.com will redirect to www.something.com/product/node/11.
I tried creating an alias and used Path redirect module but for some reason, i can't reach the expanded URL when going to home page. it will display the content of www.something.com/product/node/11 but still using www.something.com.
I'm thinking that this can only be implemented in Apache server, not inside Drupal?
Note that our purpose of doing this feature is whenever a new product is created, we want our home website to point to that (i.e. www.something.com -> www.something.com/product2/home, before www.something.com/product1/home). If this is configurable inside Drupal, the changes would be easier and can be done by a Drupal administrator.
You should be able to go to /admin/settings/site-information and set the Default Front Page at the bottom of the form. That doesn't do a redirect: the home page will BE whatever you set the default to.
Create a new view (Node type) named "frontpage_redirect"
As suggested in answer by Michael D, create and save a view configured to search for your specified criteria:
display: page display, path = frontpage-redirect
pager: 1 item
row style = Fields
fields: Node => Node ID
filters: node type = product
sort: post date desc
Save your new view
At admin/config/system/site-information, set your "Default front page" to the view display path above (frontpage-redirect in my example)
In the view edit screen select "Theme: Information" link in the Page display. Look for the most specific (rightmost) entry under "Field Node: Nid (ID: nid)" - should be something like views-view-field--frontpage-redirect--page-1--nid.tpl.php, but will depend on the view name and display name. Copy the default views template views-view.tpl.php into your theme folder using the filename from 3.
Edit the template and put this code in it:
if (isset($row->nid)) {
drupal_goto('node/' . $row->nid);
}
This way of setting up the redirect lets you drive it from Views, which gives flexibility. When your customer decides in six weeks that they want to feature only the latest red product on the frontpage, you'll be able to update the logic behind the redirect using the views UI. (And you can do it from your phone on the train home!)
You avoid the need to create a custom module (which is easy enough, but does add some complexity) or to move your site logic into .htaccess.
Using the Views module, create a new view that displays one full node, ordered by last created, filtered appropriately, then create a page display in the view. Then follow Graham's instruction to set the site homepage to the view URL.
Another way would be to write a very simple custom module that db-queries for the latest node created of the sort you want, grab the URL to the page, then redirect there using drupal_goto().
There are other ways to do what you want inside Drupal, but I can't think of any that are more direct and simple at the moment...
What you are asking seems wrong. Sorry if I misunderstand some detail, but it seems you should reconsider the problem on a higher level.
If I understand you right, you want to show the page for the latest product as the homepage?
If so, maybe you should turn that into show the latest project page on the homepage. That fits a lot better with the RESTfullness of the web. And with expectations of the users.
The pattern would then be:
GET /products/22 shows product 22
GET /products/23 shows product 23
GET /product/latest shows the last product (in this case, the page would be exactly similar to /products/23)
To achieve that, you can use views module.
On similar lines to Michael D's post, assuming you want to pull the most recently published product from a custom content type called "products," you could put something like this in your settings.php:
function yourtheme_preprocess_page(&$variables) {
$query = db_query("SELECT nid FROM {content_type_products} ORDER BY nid DESC LIMIT 1");
while ($row = db_fetch_object($query)) {
$redirect_nid = $row->nid;
}
if ($variables['is_front'] == 1) drupal_goto("/node/" . $redirect_nid);
}
modify the .htaccess file.
http://drupal.org/node/50322#comment-2456576

Limit frontblock to display articles/stories only in Drupal

I am new to drupal, so sorry for this noob question, but I was wondering how to display articles only in the central column. Currently there are also blog entries, etc and I would like to get rid of them. I have a Views plugin installed but I am not sure how to do this.
In your View create a filter for Node: Type. Here, you can tell it specifically what kind of content to show.
you can change your frontpage settings in admin/settings/site-information
so let's say you created a view - with a page display
set the page url of your view (eg. articles), and then in your settings (the path i mentioned before) you set the drupal frontpage to the page path of your view (that would be 'articles')
i hope that's clear enough for you

Resources