getRootline function not stopping

View: New views
13 Messages — Rating Filter:   Alert me  

getRootline function not stopping

by Daniel Pšötzinger :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hey

The sys_page->getRootline function just stops if pid 0 is found.
I am asking if that is the correct behaviour:

In my opinion we have to signs were a rootline can/should be stopped
earlier:
1) template with rootflag set
2) the page has the checkbox "Is root of website"

What do you think?
_______________________________________________
TYPO3-dev mailing list
TYPO3-dev@...
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-dev

Re: getRootline function not stopping

by Dmitry Dulepov [typo3] :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi!

Daniel Pšötzinger wrote:
> The sys_page->getRootline function just stops if pid 0 is found.
> I am asking if that is the correct behaviour:
>
> In my opinion we have to signs were a rootline can/should be stopped
> earlier:
> 1) template with rootflag set
> 2) the page has the checkbox "Is root of website"
>
> What do you think?

This cannot be changed now because it changes the behavior that existed in all previous versions. phpDoc for this function says clearly: "Returns array with fields of the pages from here ($uid) and back to the root".

You always can check for "is_siteroot" flag in the root line.

--
Dmitry Dulepov
http://typo3bloke.net/
_______________________________________________
TYPO3-dev mailing list
TYPO3-dev@...
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-dev

Re: getRootline function not stopping

by Daniel Pšötzinger :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Dmitry Dulepov [typo3] schrieb:

> Hi!
>
> Daniel Pšötzinger wrote:
>> The sys_page->getRootline function just stops if pid 0 is found.
>> I am asking if that is the correct behaviour:
>>
>> In my opinion we have to signs were a rootline can/should be stopped
>> earlier:
>> 1) template with rootflag set
>> 2) the page has the checkbox "Is root of website"
>>
>> What do you think?
>
> This cannot be changed now because it changes the behavior that existed
> in all previous versions. phpDoc for this function says clearly:
> "Returns array with fields of the pages from here ($uid) and back to the
> root".
OK but the definition of root is missing. The root of a tree is not
always the page 0.

e.g.

typo3(0)
-rootpage
--domain1
--domain2

this causes the behaviour that typolink between domains even with the
flag config.typolinkLinkAccessRestrictedPages do not work.

_______________________________________________
TYPO3-dev mailing list
TYPO3-dev@...
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-dev

Re: getRootline function not stopping

by Daniel Pšötzinger :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


>> clearly: "Returns array with fields of the pages from here ($uid) and
>> back to the root".
> OK but the definition of root is missing. The root of a tree is not
> always the page 0.
>
> e.g.
>
> typo3(0)
> -rootpage
> --domain1
> --domain2
>
> this causes the behaviour that typolink between domains even with the
> flag config.typolinkLinkAccessRestrictedPages do not work.
>
sorry i mean config.typolinkCheckRootline=1
_______________________________________________
TYPO3-dev mailing list
TYPO3-dev@...
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-dev

Re: getRootline function not stopping

by Dmitry Dulepov [typo3] :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi!

Daniel Pšötzinger wrote:

> OK but the definition of root is missing. The root of a tree is not
> always the page 0.
>
> e.g.
>
> typo3(0)
> -rootpage
> --domain1
> --domain2
>
> this causes the behaviour that typolink between domains even with the
> flag config.typolinkLinkAccessRestrictedPages do not work.

The root of the *tree* is 0 from TYPO3 point of view. Applications should determine other restrictions (including mountpoints, etc).

If you are in Frontend, you can actually use $GLOBALS['TSFE']->tmpl->rootLine, which is the rootline for the current web site.

--
Dmitry Dulepov
http://typo3bloke.net/
_______________________________________________
TYPO3-dev mailing list
TYPO3-dev@...
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-dev

Re: getRootline function not stopping

by Dmitry Dulepov [typo3] :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi!

Daniel Pšötzinger wrote:
>> typo3(0)
>> -rootpage
>> --domain1
>> --domain2
>>
>> this causes the behaviour that typolink between domains even with the
>> flag config.typolinkLinkAccessRestrictedPages do not work.
>>
> sorry i mean config.typolinkCheckRootline=1

I had this case for a client some time ago. It works with latest realurl. You can even put domains like this:

globe
|-- domain1
   |-- page1
       |-- domain2

And it links properly. At least here. But you must have both root template at each domain and "Is root of website" set in page properties.

--
Dmitry Dulepov
http://typo3bloke.net/
_______________________________________________
TYPO3-dev mailing list
TYPO3-dev@...
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-dev

Re: getRootline function not stopping

by Martin Kutschker-7 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Dmitry Dulepov [typo3] schrieb:

> Hi!
>
> Daniel Pšötzinger wrote:
>> OK but the definition of root is missing. The root of a tree is not
>> always the page 0.
>>
>> e.g.
>>
>> typo3(0)
>> -rootpage
>> --domain1
>> --domain2
>>
>> this causes the behaviour that typolink between domains even with the
>> flag config.typolinkLinkAccessRestrictedPages do not work.
>
> The root of the *tree* is 0 from TYPO3 point of view. Applications
> should determine other restrictions (including mountpoints, etc).
>
> If you are in Frontend, you can actually use
> $GLOBALS['TSFE']->tmpl->rootLine, which is the rootline for the current
> web site.

I don't think that this distinction is clear from the inline docs.
Needless to say that having an isRoot-flag both in the page and the
template records doesn't make things easier. *

Masi

* Is it somewhere stated what these flags actually do and why there are
two of them?
_______________________________________________
TYPO3-dev mailing list
TYPO3-dev@...
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-dev

Re: getRootline function not stopping

by Daniel Pšötzinger :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Dmitry Dulepov [typo3] schrieb:

> Hi!
>
> Daniel Pšötzinger wrote:
>>> typo3(0)
>>> -rootpage
>>> --domain1
>>> --domain2
>>>
>>> this causes the behaviour that typolink between domains even with the
>>> flag config.typolinkLinkAccessRestrictedPages do not work.
>>>
>> sorry i mean config.typolinkCheckRootline=1
>
> I had this case for a client some time ago. It works with latest
> realurl. You can even put domains like this:
>
> globe
> |-- domain1
>   |-- page1
>       |-- domain2
>
> And it links properly. At least here. But you must have both root
> template at each domain and "Is root of website" set in page properties.
>
cool i have to check.

does this version include that the realurl configuration for that domain
is used - if they have diffrent configuration?
_______________________________________________
TYPO3-dev mailing list
TYPO3-dev@...
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-dev

Re: getRootline function not stopping

by Dmitry Dulepov [typo3] :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Daniel!

Daniel Pšötzinger wrote:
> does this version include that the realurl configuration for that domain
> is used - if they have diffrent configuration?

I am not sure that I understood the question. There is no changes in RealURL configuration needed to use nested domains. But I must say that TYPO3 does not expect nested domains, so having them may cause strange effects with links.

--
Dmitry Dulepov
http://typo3bloke.net/
_______________________________________________
TYPO3-dev mailing list
TYPO3-dev@...
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-dev

Re: getRootline function not stopping

by Dmitry Dulepov [typo3] :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi!

Martin Kutschker wrote:
>> If you are in Frontend, you can actually use
>> $GLOBALS['TSFE']->tmpl->rootLine, which is the rootline for the current
>> web site.
>
> I don't think that this distinction is clear from the inline docs.
> Needless to say that having an isRoot-flag both in the page and the
> template records doesn't make things easier. *

I absolutely and fully agree.

> * Is it somewhere stated what these flags actually do and why there are
> two of them?

Not really. I think "Is site root?" in page properties was created to avoid searching for root TS template in some functions.

--
Dmitry Dulepov
http://typo3bloke.net/
_______________________________________________
TYPO3-dev mailing list
TYPO3-dev@...
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-dev

Re: getRootline function not stopping

by Ernesto Baschny [cron IT] :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Dmitry Dulepov [typo3] wrote: on 09.07.2008 15:45:

> Hi!
>
> Martin Kutschker wrote:
>>> If you are in Frontend, you can actually use
>>> $GLOBALS['TSFE']->tmpl->rootLine, which is the rootline for the current
>>> web site.
>>
>> I don't think that this distinction is clear from the inline docs.
>> Needless to say that having an isRoot-flag both in the page and the
>> template records doesn't make things easier. *
>
> I absolutely and fully agree.
>
>> * Is it somewhere stated what these flags actually do and why there are
>> two of them?
>
> Not really. I think "Is site root?" in page properties was created to
> avoid searching for root TS template in some functions.

The flag is used:

- in "sliding" functions (to stop the sliding),
- typolink uses it to stop looking for a domain record.
- also it is used by the page-tree (in BE) to put the "domain name"
besides the page title in case options.pageTree.showDomainNameWithTitle
is set.
- for TCA methods that can substitute the marker "###SITEROOT###", this
is the flag that is checked for this.

AFAIK these are the only parts where is_siteroot is used, besides the
mentioned RealURL part.

Cheers,
Ernesto
_______________________________________________
TYPO3-dev mailing list
TYPO3-dev@...
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-dev

Re: getRootline function not stopping

by Martin Kutschker-7 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Ernesto Baschny [cron IT] schrieb:

> Dmitry Dulepov [typo3] wrote: on 09.07.2008 15:45:
>> Hi!
>>
>> Martin Kutschker wrote:
>>>> If you are in Frontend, you can actually use
>>>> $GLOBALS['TSFE']->tmpl->rootLine, which is the rootline for the current
>>>> web site.
>>>
>>> I don't think that this distinction is clear from the inline docs.
>>> Needless to say that having an isRoot-flag both in the page and the
>>> template records doesn't make things easier. *
>>
>> I absolutely and fully agree.
>>
>>> * Is it somewhere stated what these flags actually do and why there are
>>> two of them?
>>
>> Not really. I think "Is site root?" in page properties was created to
>> avoid searching for root TS template in some functions.
>
> The flag is used:
>
> - in "sliding" functions (to stop the sliding),
> - typolink uses it to stop looking for a domain record.
> - also it is used by the page-tree (in BE) to put the "domain name"
> besides the page title in case options.pageTree.showDomainNameWithTitle
> is set.
> - for TCA methods that can substitute the marker "###SITEROOT###", this
> is the flag that is checked for this.
>
> AFAIK these are the only parts where is_siteroot is used, besides the
> mentioned RealURL part.

Besides the fact, that a template could include a template with the
is-root-flag set, could the flag in the template be obsoleted like the
page types advanced and not-in-menu? Here we have the same thing: two
options with the same (?) meaning.

Masi
_______________________________________________
TYPO3-dev mailing list
TYPO3-dev@...
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-dev

Re: getRootline function not stopping

by Ernesto Baschny [cron IT] :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Martin Kutschker wrote: on 11.07.2008 22:06:

> Ernesto Baschny [cron IT] schrieb:
>> Dmitry Dulepov [typo3] wrote: on 09.07.2008 15:45:
>>> Hi!
>>>
>>> Martin Kutschker wrote:
>>>>> If you are in Frontend, you can actually use
>>>>> $GLOBALS['TSFE']->tmpl->rootLine, which is the rootline for the current
>>>>> web site.
>>>> I don't think that this distinction is clear from the inline docs.
>>>> Needless to say that having an isRoot-flag both in the page and the
>>>> template records doesn't make things easier. *
>>> I absolutely and fully agree.
>>>
>>>> * Is it somewhere stated what these flags actually do and why there are
>>>> two of them?
>>> Not really. I think "Is site root?" in page properties was created to
>>> avoid searching for root TS template in some functions.
>> The flag is used:
>>
>> - in "sliding" functions (to stop the sliding),
>> - typolink uses it to stop looking for a domain record.
>> - also it is used by the page-tree (in BE) to put the "domain name"
>> besides the page title in case options.pageTree.showDomainNameWithTitle
>> is set.
>> - for TCA methods that can substitute the marker "###SITEROOT###", this
>> is the flag that is checked for this.
>>
>> AFAIK these are the only parts where is_siteroot is used, besides the
>> mentioned RealURL part.
>
> Besides the fact, that a template could include a template with the
> is-root-flag set, could the flag in the template be obsoleted like the
> page types advanced and not-in-menu? Here we have the same thing: two
> options with the same (?) meaning.

Yes, that is indeed a bit annoying, but probably have some technical
reasons and are difficult to change. Setting that in a TypoScript
template has the reason that the "levels" defined in that template are
then always calculated correctly from that starting point (for menus, etc).

Usually all BE-stuff uses the page is_root flag, while the FE uses the
root sys_template flag (because TS will be parsed anyway) to determine
the "current site root". RealURL is an exception, because it has to get
the root before the TypoScript is parsed.

Cheers,
Ernesto
_______________________________________________
TYPO3-dev mailing list
TYPO3-dev@...
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-dev
LightInTheBox - Buy quality products at wholesale price