Syndicate

Feed

Quick edit and delete links for the Administrator

You want to add quick edit links to the teaser view of your nodes — one link to edit the node, and another to delete it, and you want these links to be shown only to users with the 'administer nodes' permission. Alternatively, you may want these links to be viewed only by the user with uid (user ID) 1.

First Solution

  1. Edit node.tpl.php to add an unordered list of 2 links, contained within a div with a class name (e.g. 'quick-edit-links') and...

  2. style these links in your theme's style.css file.

Say you would like anyone who's logged-in and who has 'administer nodes' permission to see these two additional links below the teaser of every node: Edit [content-type-name] and Delete [content-type-name], like so:

Quick edit links by themselves

Let's get to it.

In your theme folder, your file node.tpl.php may look like this before the edit (I am only providing a snippet of the template here):

<?php if ($links): ?>
  <div class="links"><?php print $links; ?></div>
<?php endif; ?>

Below the above code, you will add your new 'quick edit' links like so:

<?php if ($teaser && user_access('administer nodes')): ?>
  <?php $content_type_name = node_get_types('name', $node); ?>
  <?php $quick_links['quick-edit'] = array('title' => 'Edit ' . $content_type_name, 'href' => 'node/' . $nid . '/edit'); ?>
  <?php $quick_links['quick-delete'] = array('title' => 'Delete ' . $content_type_name, 'href' => 'node/' . $nid . '/delete'); ?>
  <div class="links quick-edit-links">
    <?php print theme('links', $quick_links, array('class' => 'links inline')); ?>
  </div>
<?php endif; ?>

In the above snippet, you build a new array of links, $quick_links, and you theme that array with the function theme('links', ...).

You may prefer to write the markup yourself, using the Drupal function l(), like so:

<?php if ($teaser && user_access('administer nodes')): ?>
<?php $content_type_name = node_get_types('name', $node); ?>
  <div class="links quick-edit-links">
    <ul class="links inline">
      <li class="first quick-edit"><?php print l('Edit ' . $content_type_name, 'node/' . $nid . '/edit'); ?></li>
      <li class="last quick-delete"><?php print l('Delete ' . $content_type_name, 'node/' . $nid . '/delete'); ?></li>
    </ul>
  </div>
<?php endif; ?>

Second Solution

In template.php, using a preprocess function, add 2 new links to $node->links and re-theme (like a re-rince) $node->links to overwrite the existing $links variable. And... style as needed.

Let me show you what I mean. You may want to add the quick edit links next to the other node links, like so:

Quick edit links with other links.

To achieve this, in your theme's template.php file, you will add a prepocess function for your node template. Open your theme template.php file in a text editor, and add the following code:

<?php
/**
* Override or insert PHPTemplate variables into the node template.
*/
function phptemplate_preprocess_node(&$vars) {
 
// If we are in teaser view and have administer nodes permission
 
if ($vars['teaser'] && user_access('administer nodes')) {
   
// get the human-readable name for the content type of the node
   
$content_type_name = node_get_types('name', $vars['node']);
   
// making a back-up of the old node links...
   
$links = $vars['node']->links;
   
// and adding the quick edit link
   
$links['quick-edit'] = array(
     
'title' => 'Edit ' . $content_type_name,
     
'href' => 'node/' . $vars['nid'] . '/edit',
    );
   
// and then adding the quick delete link
   
$links['quick-delete'] = array(
     
'title' => 'Delete ' . $content_type_name,
     
'href' => 'node/' . $vars['nid'] . '/delete',
    );
   
// overwriting the $links variable with our new links THEMED
   
$vars['links'] = theme('links', $links, array('class' => 'links inline'));
  }
}
?>

Here's what you've done:

Modifying the $links variable.

The first solution will work in Drupal 5 as well. Both solutions work only for PHPTemplate-powered themes. With the first solution, it's easy to place the additional links anywhere in the node view.

If you want your quick edit links to be viewed only by the all-mighty Administrator, in your file node.tpl.php, you will replace this code...

&& user_access('administer nodes')

... with that one:

&& ($user->uid == 1)

The variable $user is part of what's called in themespeak the default baseline variables. The baseline variables are available to all template files, as they are generated by the preprocess function template_preprocess(). No need to refer to the oft-used global $user in your template file (although that will work fine as well). Just use the baseline variable $user (it's less code). However, in the preprocess function defined above, to make use of the baseline variable $user, you'll need to write $var['user'].

&& ($var['user']->uid == 1)

You can find more information on preprocess functions (new to Drupal 6) in this other article. Preprocess functions are used to pass additional variables to template files, or to modify the variables already passed to them. In our second solution, we modified the variable $links, which is a themed representation of the node links.


A little variation

Showing these links to people with 'administer nodes' permission is quite restrictive: chances are only a handful of people — maybe one person — have access to the Administration section for content.

You may have a web site with many contributors. Some will have 'edit' permission to some or all of the site content, with or without a right to 'delete'. When the situation is relatively complex, and you do want quick edit links whenever possible, you can rely on the Drupal's function node_access($op, $node, $account = NULL) as Roger López points out in this comment. The preprocess function rewritten with the use of node_access() becomes:

<?php
/**
* Override or insert PHPTemplate variables into the node template.
*/
function phptemplate_preprocess_node(&$vars) {
 
// If we're in teaser view and have right to update(edit) the node
 
if ($vars['teaser'] && node_access('update', $vars['node'])) {
   
// get the human-readable name for the content type of the node
   
$content_type_name = node_get_types('name', $vars['node']);
   
// making a back-up of the old node links...
   
$links = $vars['node']->links;
   
// and adding the quick edit link
   
$links['quick-edit'] = array(
     
'title' => 'Edit ' . $content_type_name,
     
'href' => 'node/' . $vars['nid'] . '/edit',
    );
   
// and then adding the quick delete link
    // if we have the right to delete the node
   
if (node_access('delete', $vars['node'])) {
     
$links['quick-delete'] = array(
       
'title' => 'Delete ' . $content_type_name,
       
'href' => 'node/' . $vars['nid'] . '/delete',
      );
    }
   
// overwriting the $links variable with our new links THEMED
   
$vars['links'] = theme('links', $links, array('class' => 'links inline'));
  }
}
?>

The function node_access($op, $node, $account = NULL) determines whether the current user (OR the user with the specified $account) has the right to perform a given operation on a specified node. If he has the right to perform the operation, the function returns TRUE, if not it returns FALSE. The operations, given by the flag $op, are 'view', 'update' (to edit the node), and 'delete'.

Take note of this: if the node was last saved with an input format not permitted to the user (e.g. say it has been edited by the Administrator who saved it in the 'PHP code' input format), the user won't be able to edit his node anymore — for obvious security reasons. In the node_access() function, you'll find this:

// If the node is in a restricted format, disallow editing.
if ($op == 'update' && !filter_access($node->format)) {
  return FALSE;
}
Last edited by Caroline Schnapp about 6 years ago.

Comments

Very Useful.

I'll surely use it, thanks for such a handy tip.

this is very nice

this is very nice article...and it would be a lot cooler if you(could) show how to add some icon on each links... :)
thanks

I was quite annoyed with the

I was quite annoyed with the removal of links made ​​by the admin within a website or blog. In my opinion, there is a link on the web blog can help visitors to get the information that is no less important. como recuperar arquivos excluidos da lixeira

Actually I am a bit confused

Actually I am a bit confused as to why the link should be removed if they do not interfere with the activities of blogs owned. I think the edit link or delete the link is not important enough to do. Torpedo Gratis

I wanted to thank you..

I wanted to thank you for this great read!! I definitely enjoyed every little bit of it. I have you bookmarked to check out new stuff on your post. how to prevent hair fall naturally

My spouse and i may be

My spouse and i may be unbelievably to learn this web-site. My spouse and i wanted to many thanks to your time for this wonderful study!! Many of us certainly taking advantage of pretty much every amount of this and also We've persons book-marked to look at brand-new materials persons document.
http://www.1stforexbroker.com

I am a bit confused to edit

I am a bit confused to edit links or remove them from the blog. I think what you are saying in this blog can be a guide as well as a good reference for developing a blog that I have because I've never done it before. web hosting affiliate programs

I have joined your feed..

I have joined your feed and look forward to seeking more of your fantastic post . Also, I've shared your site in my social networks! New York Guide

If I could edit or edit a

If I could edit or edit a blog that I have a much easier like this, of course, can make me faster in the work. In my opinion, the results obtained from the several steps that you mentioned on this page are not much different from the many stages that I normally do. cheap homecoming dresses

Although the editing process

Although the editing process you mentioned on this page looks easy, but it seems it is not easy to put into practice. I've tried several times to apply these codes, but it seems I made a mistake so it is always an error occurs. Buddhist Yoga

Some tips to edit the

Some tips to edit the appearance of the blog is pretty important to read because it can add to our knowledge about what we do. In my opinion, editing and change the website is something that is important enough to be done regularly. lakeway tx dentist

You want to add quick edit

You want to add quick edit links to the teaser view of your nodes — one link to edit the node, and another to delete it, and you want these links to be shown only to users with the 'administer nodes' permission. Alternatively, you may want these links to be viewed only by the user with uid (user ID) 1.
First Solution http://e-papierossy.com.pl/en/e-papierosy/99-e-papierosy-gambit-1221.html
http://e-papierossy.com.pl/en/e-papierosy/96-e-papierosy-gambit-5609.html

Edit node.tpl.php to add an unordered list of 2 links, contained within a div with a class name (e.g. 'quick-edit-links') and...
http://e-papierossy.com.pl/en/e-papierosy/76-e-papierosy-gombit-423456.html
http://e-papierossy.com.pl/en/e-papierosy/80-e-papierosy-gambit-123445.html

node_access()

Great tip. I use a similar method on nearly every site I build. The biggest difference though is that I use node_access intead of user_access.

instead of user_access('administer nodes') you could also use node_access('update', $node) and node_access('delete', $node). This will allow anyone with access to update or delete the node, to be able to see these links. It will also take into account the node access tables, in the case that you are using some sort of access control module.

Why didn't I think of that...?

Actually I prefer your solution, totally. :-)

I am gonna write something up, in the post, and give you credit. I am not even sure there are more database queries with your solution (maybe one more for querying the {node_access} table... again) but with any involved web site that has more than one contributor (so NOT for a web site like mine), it is more suitable. Anything to make contributing and editing content easier... I am all for that.

I have edited the article

I have added to it. Thank you again, Roger.

... and edited it again

To add a missing parenthesis in the code snippet. (OH... MY... GOD...)

I also added some info on node_access().

So the new section I added is here.

I am playing with Wordpress

I installed Wordpress tonight, Version 2.5.1.

I wanted to look at how Wordpress deals with taxonomy out of the box in its latest version.

There are 2 'vocabularies' in Wordpress : free tagging, and what they call 'categories', and categories can be organized into a tree, that is, a category can have one category as parent. And a category can have many sub-categories.

I looked at a few WP themes, and I thought: That's where it comes from! The 'Tags: x, y, z | Filed under: x, y, z' I see in so many blogs! It's Wordpress wording.

In a Wordpress post, unlike in Drupal, terms are not lumped together. Each vocabulary has its own function, ie: the_tags(), and the_category(). And that will my next instalment: how to put some order in terms displayed in Drupal teasers.

I downloaded this one Wordpress theme, and here is what I found: a quick edit link for the post!

A blog entry in Wordpress

The code for the post info line in the template file is:

<div class="postinfo">
  Tags: <?php the_tags(''); ?>  | 
  Filed Under <?php the_category(', '); ?>
  <?php edit_post_link('(Edit)', '', ''); ?>
</div>

In Wordpress, if the user is logged in and has permission to edit the post, the function edit_post_link() displays a link to edit the current post. Example: edit_post_link('edit', '<p>', '</p>');

one more thing...

I would also add one more thing to your code. If you put 'query' => drupal_get_destination() to each of your link definitions, after the node has been edited or deleted, the user will be redirected back to the page where they originally clicked the link.

Also, here is how you could do this in a module without having to fuss with the theme.

<?php
function mymodule_link($type, $node = NULL, $teaser = FALSE) {
 
$links = array();
  if (
$type == 'node' && $teaser) {
    if (
node_access('update', $node)) {
     
$links['node_edit'] = array(
       
'title' => t('edit'),
       
'href' => "node/$node->nid/edit",
       
'query' => drupal_get_destination(),
      );
    }
    if (
node_access('delete', $node)) {
     
$links['node_delete'] = array(
       
'title' => t('delete'),
       
'href' => "node/$node->nid/delete",
       
'query' => drupal_get_destination(),
      );
    }
  } 
  return
$links;
}
?>

p.s. It looks like your php/code filter is malfunctioning. Anytime i put a code or php tag anywhere in the post, the entire comment comes up blank.

drupal_get_destination()

Nice addition...

Full-blown like this, what started out as the need to add one quick edit link for Administrators looks like something that could be put in a module.

Because at first, here is what I had in mind. This is what I am using in my node.tpl.php template:

<?php if ($teaser && ($user == 1)): ?>
  <div class="links"><?php print l('(Edit)', 'node/' . $nid . '/edit'); ?> | <?php print l('(Delete)', 'node/' . $nid . '/delete'); ?></div>
<?php endif; ?>

Which is printing something like this:

It looks like your php/code filter is malfunctioning. Anytime i put a code or php tag anywhere in the post, the entire comment comes up blank.

Tell me about it! :-( I can't figure out what's going on here. I did not touch that input format (filtered HTML) and the module I am using is the same. It's the one used on Drupal, e.g. Codefilter.

I fixed the input format conflict

It looks like your php/code filter is malfunctioning. Anytime i put a code or php tag anywhere in the post, the entire comment comes up blank.

Fixed.

New module Admin Links

Put up a quick little module so I didn't have to do any theme hacking: http://drupal.org/project/admin_links

Thank you, Dave

:-) Awesome.

add link on the fly

I need an executable code snippet that can add on the fly a new internal link to an existing node's link area. I need to execute the code through the Rules module triggered actions. Any clue is highly appreciated. thnx:dariush

What a script.

I was able to learn much from this.

What a website you have

I was about to click 'spam' but wanted to reply to you.

The title tag of your pathetic (and broken) website's home page contains all of this:

##### ##### – Seo Master,Seo Expert. Search Engine Optimization Gossips. - Total Talking about Search Engine Optimization and WebMaster Resourses.:

Your one testimonial is funny:

##### ##### is really Expert. It was hard for me to believe unless i saw the results. He asked $1000 and he worked for 3 months for my site to bring #1 position in google. I don\'t have enough budget so i could only pay $500. I will pay the amount after i get my salary. Also, will be taking his service in future. great communication and very honest person. Most recommended!! - Vincent Hung (Singapore)

Your pathetic website:

Broken SEO website

how to add icon on each links?

this is very nice article... and it would be a lot cooler if you(could) show how to add some icon on each links... :)

thanks,

vsotto

I have done this already

and it would be a lot cooler if you(could) show how to add some icon on each links...

I am doing so right here.

This site rocks, as a person

This site rocks, as a person who's still learning php and gets headaches when reading through the drupal API, let alone applying it, i find it refreshing to see illustrations and simple, yet easy to understand explanations. Kudos and thanks!

Answer for wordpress 2.3

Prior to version 2.3, WordPress had only one generic taxonomy, called Category, for Posts. This worked well for blogs, as you could create a top-level category called “Desktop Computers,” with a subcategory called “RAM,” which may have subcategories such as “Less than 1 GB,” “1 GB,” “2 GB to 4GB,” and so on. A second child category of “Desktop Computers” might be called “Operating System,” with subcategories such as “Windows XP,” “Mac OS,” “Red Hat,” “Ubuntu,” and so forth.

When a system allows you to have categories that can be divided into subcategories, we call it a hierarchical structure. The best you could do for a serious site architecture prior to WordPress version 2.3 was to create a large hierarchy of categories, where the top level categories represented large taxonomy groups.

Thank you for providing the

Thank you for providing the step by step detail for this process. You did a fantastic job of explaining the details.

A quick way to do deletion

A quick way to do deletion or editing is important enough to be studied. In my opinion, if the way can produce the same results, it seems that way is worth a try because it can save a lot of time and effort. Dan Lozano

Great tutorial

Thanks for this great tutorial. Until now I just created a new array for additional links in phptemplate_preprocess_node that I then displayed in the template but modifying $links is what I really wanted (but never knew how to).

Another Option based on user roles

I have been using this for customphp fields in views or for directly in tpl files. It is based on user role instead of being able to administer nodes. The reason being when you enable the administer nodes permissions and a user edits or creates a nodes, they are given additional options (like revisions, publishing, etc), which you might not want them to have control over.

<?php if (in_array('authenticated user', $GLOBALS['user']->roles)) : ?>
  <?php $content_type_name = node_get_types('name', $node); ?>
  <?php $quick_links['quick-edit'] = array('title' => '[Edit]', 'href' => 'node/' . $nid . '/edit'); ?>
  <?php $quick_links['quick-delete'] = array('title' => '[Delete]', 'href' => 'node/' . $nid . '/delete'); ?>
  <div class="links quick-edit-links">
    <?php print theme('links', $quick_links, array('class' => 'links inline')); ?>
  </div>
<?php endif; ?>

Really liked!

Really liked and I understand more and more with regard to this matter. I’m ensure there are lots of more pleasant times in the future for those who check-up your blog posts.
Shimla Manali Package | Shimla Manali Tour Package

Thanks!

That tip made the trick - thanks for that!

Worth Bookmarking

Sant Ritz is a new and upcoming condominium located in the Potong Pasir area, within a short drive to Little India, Orchard and city area. With expected completion in mid 2016, it comprises of 3 towers with 214 units and stands 12 storeys tall. Future residents will be able to walk to the existing Potong Pasir MRT. With such a short drive to the city area as well as the orchard and bugis area, entertainment for your love ones will come at a stone’s throw away.

Worth Bookmarking

For Bartley Ridge vehicle owners, it takes less than 10 minutes to drive to the business hub and vibrant Orchard Road shopping district, via Pan Island Expressway (PIE) and Central Expressway (CTE).
Bartley Ridge

You want to add quick edit

You want to add quick edit links to e-papierosy the teaser view of your nodes — e-papierosy one link to edit the node, and another to delete it, and you want these links to be shown only to users with the 'administer nodes' permission. Alternatively, you may want these links to be viewed only by the user with uid (user ID) 1.

We need more such post

Several buses are available near along Ang Mo Kio Ave 5 and Yio Chu Kang Road along with shopping centers and restaurants. Belgravia Villas is also near to Nex Shopping Centre as well as the buzzling Toa Payoh area. Entertainment for your loved ones and friends is therefore at your fingertips with the full condo facilities as well as the amenities around Ang Mo Kio.
Belgravia Villas will be accessible via public transport along Ang Mo Kio Ave 5. Commuting to Toa Payoh and Paya Lebar area as well as the city area is therefore very convenient. It is also near to many eateries along the Upper Serangoon area as well as NEX shopping mall.
Belgravia Villas

Great post!

Nice post. I've been using Pinterest more and more to showcase my own work but also as a way to help brides gather ideas.

excellent

Great blog. hope to read more from author. Hedges Park Condo, Topiary EC, Twin Fountains Woodlands

Jewel at Buangkok has full

Jewel at Buangkok has full and unique facilities, which includes a guard house, clubhouse, children's playground, swimming pool, Aerobic/Yoga room, piano room, pool room, indoor gym, hydrotherapy beds, hydrotherapy baths, reading room, function room, onsen, jacuzzi.
The condo’s facilities provide full family entertainment needs for your family and loved ones. Indulge in a serene and tranquil lifestyle right in the heart of Buangkok.
Buangkok New Launch

Future residents will be

Future residents will be able to walk to Jurong East MRT Station which is located right beside it. Also, nature awaits your family and friends at the Jurong Lake Park and the Jurong Country Park. Also, the ultimate nature awaits you the Japanese Garden.
J Gateway

I like the ideas about quick

I like the ideas about quick edit and delete links for the administrator that this post shared. The solution that this post shared are really clear that is why its easy to understand.

Corals At Keppel Bay
D'pristine

I have learned a lot from

I have learned a lot from your post about Quick edit and delete links for the Administrator. I can't wait to read more about your post. Thanks.
Corals At Keppel Bay
D'pristine

if the way can produce the

if the way can produce the same results, it seems that way is worth a try because it can save a lot of time and effort. http://www.braungresham.com/2013/05/webinar-2/

I find a lot of great

I find a lot of great information here and this is what I am searching for. Thank you for your sharing this post. will bookmark this page for my future reference.
Corals At Keppel Bay
D'pristine

Woodlands EC facilities

Woodlands EC facilities provide full family entertainment needs for your family and loved ones. Indulge in a serene and tranquil lifestyle right in the heart of Woodlands.
Forestville EC

Future residents will be

Future residents will be able to walk to the existing Bartley MRT in the Circle Line. With such a short drive to the city area as well as the orchard and bugis area, entertainment for your love ones and family will come at a stone’s throw away.
Kensington Square

Skypark Residences is also

Skypark Residences is also near elite schools such as Singapore American School, Wellington Primary School, Canberra Primary School and Endeavour Primary School.
It is also near to Singapore Sports School and Innova Junior College.
Skypark Residences

Sea Horizon EC facilities

Sea Horizon EC facilities provide full family entertainment needs for your family and loved ones. Indulge in a serene and tranquil lifestyle right in the heart of Pasir Ris.
Sea Horizon

The Glades will be

The Glades will be accessible via the Tanah Merah MRT Station (EW4) on the East-West Line.
The Glades condo

asdvwve

This is one of the best sites I have visited. I can surely related to your posts here. And I am learning a lot. Vaginal mesh lawsuits center updates

jytjtyj

Very useful info here. This is very timely for me since I am in something that relates to your topic here. Thank you. Bladder Mesh Lawsuit Updates

Kensington Square Singapore New Launch

Kensington Square is Launching Soon! (Pending Approval) Prior to the public launch, you are invited to an exclusive Pre-launch viewing & booking session. Click Here to Register your interest to participate in the pre-launch viewing to secure choice units at the lowest prices before the official launch date

Kensington Square Singapore New Launch

Kensington Square is Launching Soon! (Pending Approval) Prior to the public launch, you are invited to an exclusive
Pre-launch viewing & booking session. Click on the webpage below to Register your interest to participate in the pre-launch viewing to secure choice units at the lowest prices before the official launch date.

Kensington Square Singapore"

waterwoods

Waterwoods is an executive condominium expected to be ready in Punggol in 2016. It features 6 blocks, each 18 storeys of luxurious EC units and is jointly developed by Sing Holdings Limited & UE E&C Limited.
Waterwoods

sea horizon

Sea Horizon is a 99-year leasehold executive condominium development located at Pasir Ris Rise, along Pasir Ris Drive 3 in District 18. It is estimated to house 495 residential units. Sea Horizon is situated just 5minutes walk away from the Downtown East and E!Hub. It is also the first executive condo in Singapore that gets to enjoy up to 60% sea view.
Sea Horizon

SkyPark Residences

SkyPark Residences is the latest EC to be launched in Sembawang.  The land parcel is located at the junction of Sembawang Drive and Sembawang Avenue.  This location is close to Sembawang MRT and bus interchange.  SkyPark Residences is sitting on a good-sized land surrounded by excellent ammenities.

The ideas were stated

The ideas were stated clearly in your blog. I really enjoyed reading your stuff. Thanks a lot for sharing.
singapore tallest building
watch tp180

Glades at tanah mera

The Glades Condo is within walking distance to Tanah Merah MRT station. Being well connected via major expressways such as PIE and ECP makes traveling from and to The Glades a great convenience.

Ang Mo Kio Condo Launch is a

Ang Mo Kio Condo Launch is a new and upcoming housing located in the Ang Mo Kio area, nested right in the Ang Mo Kio area. It is within a short drive to Little India, Orchard and city area. With expected completion in mid 2017. Ang Mo Kio Condo Launch

gfjfgj

I am a bit confused to edit links or remove them from the blog. I think what you are saying in this blog can be a guide as well as a good reference for developing a blog that I have because I've never done it before
camerathanhxuan.com jusst need chepphim3d.net and thietbivesinh360.com you need trangraovat.org

sdgsdgsd

Although the editing process you mentioned on this page looks easy, but it seems it is not easy to put into practice. I've tried several times to apply these codes, but it seems I made a mistake so it is always an error occurs
camerathanhxuan.com jusst need chepphim3d.net and thietbivesinh360.com you need trangraovat.org

The resource that you

The resource that you mentioned here is something that I have been looking from quite at a time. And finally it ended with such a nice blog post. Don't have words to thank you.finiti jeunesse

Cara Menurunkan Berat Badan Secara Cepat

Cara Menurunkan Berat Badan Secara CepatWhat an incredible job you guys are doing. Thanks

The condo’s facilities

The condo’s facilities provide full family entertainment needs for your family and loved ones. Indulge in a serene and tranquil lifestyle right in the heart of Changi. The Inflora

Sky Vue Condo is right next

Sky Vue Condo is right next to Junction 8 Shopping Centre as well as the buzzling Toa Payoh and Serangoon area. Entertainment for your loved ones and friends is therefore at your fingertips with the full condo facilities as well as the amenities around Bishan. Skyvue

Several buses are available

Several buses are available near Bishan Road and Ang Mo Kio Ave 1 along with shopping centers and restaurants near Sky Vue Condo Skyvue Bishan

Year 2012 has been quite

Year 2012 has been quite eventful. SRSG also witnessed events and evolved in terms of business verticals, technologies, people and processes.
News room automation

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <css> <html> <javascript> <mysql> <php> <span> <a> <b> <i> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <sup> <sub> <dd> <del> <blockquote> <img> <q> <p> <div>
  • Lines and paragraphs break automatically.
  • You can enable syntax highlighting of source code with the following tags: <css>, <html>, <javascript>, <mysql>, <php>, <rails>, <ruby>.

More information about formatting options

CAPTCHA
I have to wonder if you're a human spammer or a machine, or less likely someone who cares to leave his or her thoughts behind.