Jump to content

Issue renaming the Title field within a context


lenoir
 Share

Recommended Posts

Hi,

I've got the following issue: I'm renaming the title field on the team pages of a website. Basically, it's confusing to enter the name of a member of the team in the title field… (specially when there's another field right underneath it called 'name').

So I've used the "context" function to change the field name, which works fine as soon as you've saved the new page. Before that, the field is still called 'title'. (see screenshots)

Any ways around this? Suggestions?

Also, is it possible to rename the 'name' field? I'd rather call it something like "URL Name", or something similar, to avoid confusion from the client.

Thanks!
David

post-588-0-69900000-1364290729_thumb.png

post-588-0-60256700-1364290730_thumb.png

Link to comment
Share on other sites

Hi lenoir, I've not used the Context facility before, thanks for drawing it to my attention; but I see your problem (that until the context is set your alternate name is not shown).

Others in the forum will likely come up with more complete solutions to suggest but one simple thing I do quite a lot is to use the Description for a field to inform the user; carefully worded copy there with for example emphasis provided by judicious use of uppercase can go a long way to providing a self explanatory experience for almost all levels of users.

Link to comment
Share on other sites

If you create a new child page, which can have multiple templates, the creating page process can't know which template you gonna choose. So it doesn't work the way you doing. Also in this case it wouldn't make sense as you don't know which template context should be displayed.

BUT if you have a setup where the parent page template only allows for 1 particular child template (under Family settings of parent template) it does take that template for the page creation step and you'll see the title in context.

The "name" field is built-in and a special field you can't change within fields setup.

But you can have a simple autoload module that renames the label to what you like. Although I think it's not an issue to have it "name", I understand people want to name it different.

A module like the HelloWorld.module, can be used as a starting point, with as hook and a function

// in init() method add a hook
$this->addHookAfter("InputfieldPageName::render", $this, "hookPageName");

and add a function below with this:

public function hookPageName(HookEvent $event){
    $field = $event->object;
    $field->label = "URL segment";
}
  • Like 3
Link to comment
Share on other sites

Wanted to add: Maybe the best way is to install Language Support (not installed by default) and use translation feature of PW to change the label of the name field.

Even if you don't need language support it would allow you to do it with few clicks and have it localized even.

If you only need one language you could use the default language and create a new translation. Enter the file name you want to translate/modify

The file that makes the page name field is /wire/modules/Inputfield/InputfieldPageName/InputfieldPageName.module

Once created you can see some fields to enter, look for "name", enter your text and save. Done.

  • Like 2
Link to comment
Share on other sites

Thanks to you both! 

@alanfluff: I use the description fields quite often as well and find it very handy. But I've noticed over the years that a CMS can't be too straightforward: some of our clients don't have much computer skills and they end up doing pretty creative stuff with their content if it's not 100% clear ;-)

@soma: Thanks for your suggestions. I guess the latter is more up to my coding skills, but i do like the simplicity of the module solution. However, I changed the famliy settings of the parent template as suggested and that solved my problem.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...