dmitryd / typo3-realurl Goto Github PK
View Code? Open in Web Editor NEW**Vintage** RealURL extension for TYPO3 CMS. Read the wiki if you have questions!
**Vintage** RealURL extension for TYPO3 CMS. Read the wiki if you have questions!
When logged in the Typo3 backend (7.6.4) realurl 2.0.5 doesn't work. The message 'Segment [...] was not a keyword for a postVarSet as expected on page with id=1.' appears.
After log out everything works fine.
Currently (1.x) the code allows empty aliases and searches for them. This may cause side effects if the alias field is empty in the database.
Notes: related snowflake task 3209.144
If the unique alias table does not contain an entry for an alias during lookup, the resulting secondary lookup done by lookUpTranslation
fails if a transformation (strtolower/spaceCharacter) would have to be applied, resulting in 404 for valid URLs. There is no cache miss handling yet.
We created a new feature branch on our fork which allows multiple strategies for cache miss resolution (currently only one provided): feature_1x_unique_cache_miss
One way to populate the alias table is to call a page which contains the failing link. For tt_news this could be a page containing a LIST view, linking to the SINGLE view (which contains aliases in the URL and thus may fails lookup). We implemented that strategy called "fetchPagesAndRetry", see our commit message for details on the problem, the solution and how to configure it: glutrot@630917f
Another way to resolve the cache miss could be to perform a fuzzy check for any possible matches by converting to lowercase and replacing all special characters with wildcards on query (e.g. /news/single/the-alias-to-test-for-4/
=> LOWER(field_alias) LIKE 'the%alias%to%test%for%'
).
However, the advantage of generating only those aliases actually being linked to (such as by our fetchPagesAndRetry strategy) is that invalid aliases can still fail and report a 404 reply. This is a wanted behaviour for tt_news if multiple configurations (archived, non-archived, by year, ...) are being used.
Note that our implementation has only been tested on a multilingual 4.5 site so far; testing on 6.2 will happen in a few days. Plus, I'm not sure if the possible race condition of multiple cache misses running clearPageCacheMgm
while page calls (cache repopulation) are being performed may cause any issues (however, that race condition also exists if an admin clears caches via BE).
Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in Classes/Decoder/UrlDecoder.php on line 1019
also found in:
Classes/Encoder/UrlEncoder.php:927
Classes/EncodeDecoderBase.php:203
Classes/Configuration/ConfigurationReader.php:95
how to fix:
GeneralUtility::makeInstance('DmitryDulepov\Realurl\Configuration\ConfigurationReader'
or simply
adapt PHP dependency to 5.5.X :)
please see at http://stackoverflow.com/questions/34003389/typo3-realurl-news-and-mutilanguage/34172886#34172886, and make it possible.
Thanks Regards
mario
I assume the development is not test driven, is there a chance for unit tests in the future?
Since I upgraded to Realurl 2, the following postvarsets do not work anymore (error 404 instead):
'postVarSets' =>
array (
'_DEFAULT' =>
array (
'news' =>
array (
0 =>
array (
'GETvar' => 'tx_news_pi1[news]',
'lookUpTable' =>
array (
'table' => 'tx_news_domain_model_news',
'id_field' => 'uid',
//'alias_field' => 'title',
'alias_field' => "concat(FROM_UNIXTIME(datetime,\"%Y%m%d\"),uid,'-',IF(path_segment!='',path_segment,title))",
'useUniqueCache' => 1,
'useUniqueCache_conf' =>
array (
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
),
),
I think I have a similar problem like this: #42
Installation is with TYPO3 7.6.4 and realurl 2.0.4.
I have a page tree with three levels deep:
This leads to /top-navigation/navpoint/subnavpoint.html and the page is reachable.
Now I set the "top navigation" page to "Exclude from speaking URL". The page /navpoint.html is working after that change.
The url for the third level page results in /navpoint/subnavpoint.html, but when I click on the "subnavpoint" in the menu I get "Page not found. Reason: Segment "subnavpoint" was not a keyword for a postVarSet as expected on page with id=83."
I have issues with "absRefPrefix = /". It only occurs when I'm not logged into the Backend. The encoder would not start otherwise.
Basically the AbsRefPrefix is not saved to the cache nor is it reapplied in the decoder.
If I change the order in the code it runs mostly correct. But there are still some duplicated wrong URL's in the cache.
I do not know if the prefix should be saved from the encoder or be reapplied in the decoder.
The Backend Modul show an Error.
Uncaught TYPO3 Exception
#1298012500: Required argument "uid" is not set for DmitryDulepov\Realurl\Controller\AliasesController->edit. (More information)
TYPO3\CMS\Extbase\Mvc\Controller\Exception\RequiredArgumentMissingException thrown in file
.../typo3cms/typo3_src-7.6.4/typo3/sysext/extbase/Classes/Mvc/Controller/AbstractController.php in line 430.
Doesnt matter what page.
Since realurl 2 the field alias can’t be used anymore, the link is rendered with the alias field but the page is not accessible with that link. Using speaking url pathsegment instead solves the problem.
Updated to your latest release 2.0.3 and then 2.0.4 through the extension manager froman earlier version which came with latest bootstap_package (2.0.0 I believe). Initially worked and also realurl_autoconf.php was present.
I made a mistake and introduce typo3 domain records afterwards (and not before) which then produced errors (see below).
As to your instructions I tried to remove realurl_autoconf.php but found that the file was not present anymore and does not regenerate.
Realurl seems to install correctly.
Thanks
Thomas
ERROR:
PHP Catchable Fatal Error: Argument 2 passed to BK2K\BootstrapPackage\Hooks\RealUrl\AutoConfig::addConfigVersion2x() must be an instance of Tx\Realurl\Configuration\ConfigurationGenerator, instance of DmitryDulepov\Realurl\Configuration\AutomaticConfigurator given in /srv/www/sakia/cms/typo3conf/ext/bootstrap_package/Classes/Hooks/RealUrl/AutoConfig.php line 59
This should be done a couple of months after people start migration from 1.x to 2.x.
Hi,
I try for several hours to set up the extension with typo3 7.6.4 and realurl 2.0.3.
As info, under realurl with version 1 everything runs perfect.
I have the version 1. uninstalled on the test installation first. And Compare current database with specification and clear all caches inside the install tool. Afterthem I installed the version 2.0.3.
Rootpage is set to id 1 and the domain is inside the list of the root page.
Now I get the follow error:
Core: Exception handler (WEB): Uncaught TYPO3 Exception: #1453732574: RealURL was not able to find the root page id for the domain "UrlOfTheWebsite" | Exception thrown in file /home/www/html/typo3/typo3conf/ext/realurl/Classes/EncodeDecoderBase.php in line 208. Requested URL: UrlOfTheWebsite
Here is my realurl_conf.php
<?php
$TYPO3_CONF_VARS['FE']['addRootLineFields'].= ',tx_realurl_pathsegment';
$TYPO3_CONF_VARS['EXTCONF']['realurl'] = array(
'_DEFAULT' => array(
'init' => array(
'enableCHashCache' => 1,
'enableCHashCache' => 1,
'respectSimulateStaticURLs' => 0,
'appendMissingSlash' => 'ifNotFile',
'enableUrlDecodeCache' => 1,
'enableUrlEncodeCache' => 1,
'postVarSet_failureMode' => '',
),
'redirects' => array(),
'preVars' => array(
array(
'GETvar' => 'no_cache',
'valueMap' => array(
'nc' => 1,
),
'noMatch' => 'bypass',
),
array(
'GETvar' => 'L',
'valueMap' => array(
'de' => '0',
'en' => '1',
),
'valueDefault' => 'de',
'noMatch' => 'bypass',
),
),
'pagePath' => array(
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
'languageGetVar' => 'L',
'expireDays' => 3,
'rootpage_id' => 1,
'firstHitPathCache' => 1
),
'fixedPostVars' => array(
'newsDetailConfiguration' => array(
array(
'GETvar' => 'tx_news_pi1[action]',
'valueMap' => array(
'detail' => '',
),
'noMatch' => 'bypass'
),
array(
'GETvar' => 'tx_news_pi1[controller]',
'valueMap' => array(
'News' => '',
),
'noMatch' => 'bypass'
),
array(
'GETvar' => 'tx_news_pi1[news]',
'lookUpTable' => array(
'table' => 'tx_news_domain_model_news',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-'
),
'languageGetVar' => 'L',
'languageExceptionUids' => '',
'languageField' => 'sys_language_uid',
'transOrigPointerField' => 'l10n_parent',
'autoUpdate' => 1,
'expireDays' => 180,
)
)
),
'newsCategoryConfiguration' => array(
array(
'GETvar' => 'tx_news_pi1[overwriteDemand][categories]',
'lookUpTable' => array(
'table' => 'sys_category',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-'
)
)
)
),
'newsTagConfiguration' => array(
array(
'GETvar' => 'tx_news_pi1[overwriteDemand][tags]',
'lookUpTable' => array(
'table' => 'tx_news_domain_model_tag',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-'
)
)
)
),
'31' => 'newsDetailConfiguration',
'71' => 'newsTagConfiguration',
'72' => 'newsCategoryConfiguration',
),
'postVarSets' => array(
'_DEFAULT' => array(
'controller' => array(
array(
'GETvar' => 'tx_news_pi1[action]',
'noMatch' => 'bypass'
),
array(
'GETvar' => 'tx_news_pi1[controller]',
'noMatch' => 'bypass'
)
),
'dateFilter' => array(
array(
'GETvar' => 'tx_news_pi1[overwriteDemand][year]',
),
array(
'GETvar' => 'tx_news_pi1[overwriteDemand][month]',
),
),
'page' => array(
array(
'GETvar' => 'tx_news_pi1[@widget_0][currentPage]',
),
),
),
),
'fileName' => array(
'defaultToHTMLsuffixOnPrev' => 1,
'index' => array(
'sitemap.xml' => array(
'keyValues' => array(
'type' => 776,
),
),
'rss.xml' => array(
'keyValues' => array(
'type' => 9818,
),
),
'news.xml' => array(
'keyValues' => array(
'type' => 1426844832,
),
),
),
),
),
);
?>
Cheers
When I configure a page as shortcut (first subpage or absolute page id), the page is not callable. Other pages work fine, the generated link look OK, but when I click the link in the menu, I get a 404.
When I enable "Exclude from speaking URL" on the shortcut page, everything works fine again (of course the link differs).
I use TYPO3 6.2.19; updated from the latest realurl 1; executed the database updates; use the autoconf (for debugging - my special configuration had the same problem)
I use port numbers (mainly for testing) and have two domain records for each website one with and one without port number. The start page is in a subdir "cms" which is included in the domain record e.g. "www.xxxxxxx.com:8157/cms/"
The page id for the root is found in the realurl_autoconfig.php
Thanks
Thomas
Core: Exception handler (WEB): Uncaught TYPO3 Exception: #1420480928: RealURL was not able to find the root page id for the domain "www.xxxxxxx.com:8157" | Exception thrown in file /srv/www/sakia/cms/typo3conf/ext/realurl/Classes/Configuration/ConfigurationReader.php in line 389. Requested URL: http://www.xxxxxxx.com:8157/cms/functionality/
With TYPO3 7.6.4 and realurl 2.0.0. the backend module is not working, because of javascript errors. You have to use TYPO3.jQuery instead of $:
TYPO3.jQuery(document).ready(function() {
TYPO3.jQuery('#realurlSelectedAlias').on('change', function() {
TYPO3.jQuery('#realurlAliasSelectionForm').submit();
});
});
Hi Dmitry,
RealURL is unable to determine the rootpage_id in a multi-domain-environment, although there are domain-records and defined root-pages. Even if i turn off the automatic configuration and use an individual realurl_conf.php the root-page-ids seem to be ignored (first page of page-tree is used).
I updated from 6.2 to 7.6.4. With 6.2 everything went fine. RealURL-version is 2.0.6.
TYPO3 is installed in a sub-directory, but with proper baseURL and RewriteBase in .htaccess this also worked with TYPO3 6.2.
Are you aware of any bug?
Regards
There's an error happening when I try to open the backend module. The error is caused by the initializeAction which tries to get the last action selected by the user.
Hi,
I recognized that using the same name for a page leads to this error:
#1294587215: ID was outside the domain<br /> <br /> Additionally, http://domain.com/page-not-found/ was not found while trying to retrieve the error document
This is irritating because the docs say that only pages are not allowed to have the same name under the same domain root. Did I get this wrong? This would kill multisite installs if no page in the complete tree structure is allowed to have the same name.
Or did I just miss something? With my old version of TYPO3 6.2 LTS this setup worked.
Current System: 7.6.2
typo3-realurl: dev-development
Installed Realurl 2.0.2
In the system log messages like:
Core: Exception handler (WEB): Uncaught TYPO3 Exception: #1343589451: Could not fetch page data for uid 0. | RuntimeException thrown in file /var/www/html/typo3_src-7.6.4/typo3/sysext/core/Classes/Utility/RootlineUtility.php in line 249. Requested URL: https://elarum.ru/index.php?eID=dd_googlesitemap
As a result not displayed menu links. Website multilingual and multi-domain.
If you are viewing a page in an alternative language and have a link included that is intended to switch to the default language (as is very common with a language selection menu), the RealURL encoding detects and includes the correct value for the L Get variable (whether as parameter or as preVar), but builds the pagePath from the alternative language page titles, instead of the default language ones.
A simple example: (sub)page with title "Contacto" (Spanish, default) or "Contact" (English, alternative, lang id 1). Being on the Spanish version, the language menu works perfectly (e.g. links "/contacto?L=0" and "/contact?L=1"). On the English version however, the links are "/contact?L=0" and "/contact?L=1"
This bug is new in RealURL 2. If found it after updating RealURL using TYPO3 7.6.4 with the page.languageMenu viewhelper from the extension vhs. Later I tried it on a brand new 7.6.4 installation with the extension sr_language_menu, with the same effect.
Currently the documentation is put in the Github Wiki. This will inevitably lead to outdated/incorrect documentation on code changes.
I suggest using the Github Pages feature to manage the documentation instead. This way the docs can be updated with the same commit of a change.
A more TYPO3-esque approach would be a Documentation
directory with .rst
files which would ensure that the docs are also available with the installed extension locally.
I have an user secured environment in TYPO3 7.6, when running in 1.x version everything is working as intended. However 2.x seem to have some strange behaviour.
As I am on the website, it works as intended. However when I login the backend the frontend is giving segmentation errors.
The error generating is: "Segment "dashboard" was not a keyword for a postVarSet as expected on page with id=1.". The page id for /dashboard/ should be 7. So there is a bit lookup failure.
All menu separators have Exclude from speaking URL: Enabled.
PHP 5.5 dependency should be documented in ext_emconf.php
The ::class operator depends on PHP 5.5
I have some XML and other Pages in the fileName Section.
Example:
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['_DEFAULT'] = array(
'fileName' => array (
'index' => array(
'robots.txt' => array(
'keyValues' => array(
'type' => 841231,
),
),
'sitemap.xml' => array(
'keyValues' => array(
'type' => 841132,
'page' => 1,
'id' => 1,
'no_cache' => 1,
),
),
),
),
);
Without RealUrl and with RealUrl 1.x it works. Even the Example from this Documentation does not work.
Please HELP!
Hi Dmitry,
as described in the "Notes for integrators" section i´d like to have the language path segment in the URLs also for the default language. I´ve set the valueMap with "de => 0" and als the TypoScript configures the defaultGetVars.
The link to the root page contains the title of the root page, meaning I have:
http://my.domain.tld/page-title/
But i would expect it without "page-title". It even stays as it is if I set "Exclude from speaking URL" in the page properties.
I use TYPO3 7.6.4 and the latest realurl 2 from Git.
Thanks a lot and regards
Ralf
Add a scheduler task to clean up the following data:
I tested the upgrade to realurl 2, but there is a problem with links to the homepage.
The homepage is a default page (no shortcut). I generate a logo with a link to the homepage with the following typoscript:
lib.header= IMAGE
lib.header {
file = {$logoPathFile}
altText = {$sitename}
stdWrap.typolink {
parameter = {$rootUid}
title = {$sitename}
}
}
I configured realurl to generate urls with .html suffix. This worked fine in former versions. But with realurl 2, the generated link to the homepage looks like this:
domain.de/.html
instead of simply domain.de
The error occurs in a default rootline menu too!
My realurl_conf.php:
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = array(
'_DEFAULT' => array(
'init' => array(
'enableCHashCache' => 1,
'appendMissingSlash' => 'ifNotFile',
'enableUrlDecodeCache' => 1,
'enableUrlEncodeCache' => 1,
),
'redirects' => array(),
'preVars' => array(
array(
'GETvar' => 'no_cache',
'valueMap' => array(
'nc' => 1,
),
'noMatch' => 'bypass',
),
array(
'GETvar' => 'L',
'valueMap' => array(
'en' => '1',
),
'noMatch' => 'bypass',
),
array(
'GETvar' => 'type',
'valueMap' => array(
'print' => '98',
),
'noMatch' => 'bypass',
),
),
'pagePath' => array(
'spaceCharacter' => '-',
'expireDays' => 7,
'rootpage_id' => 1,
),
'fixedPostVars' => array(),
'postVarSets' => array(
'_DEFAULT' => array(
// EXT:news start
'news' => array(
array(
'GETvar' => 'tx_news_pi1[action]',
),
array(
'GETvar' => 'tx_news_pi1[controller]',
),
array(
'GETvar' => 'tx_news_pi1[news]',
'lookUpTable' => array(
'table' => 'tx_news_domain_model_news',
'id_field' => 'uid',
'alias_field' => 'CONCAT(title,\'-\',uid)',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
'languageGetVar' => 'L',
'languageExceptionUids' => '',
'languageField' => 'sys_language_uid',
'transOrigPointerField' => 'l10n_parent',
'autoUpdate' => 1,
'expireDays' => 180,
),
),
),
// EXT:news end
// news archive parameters
'archive' => array(
array(
'GETvar' => 'tx_ttnews[year]' ,
),
array(
'GETvar' => 'tx_ttnews[month]' ,
'valueMap' => array(
'january' => '01',
'february' => '02',
'march' => '03',
'april' => '04',
'may' => '05',
'june' => '06',
'july' => '07',
'august' => '08',
'september' => '09',
'october' => '10',
'november' => '11',
'december' => '12',
)
),
),
// news pagebrowser
'browse' => array(
array(
'GETvar' => 'tx_ttnews[pointer]',
),
),
// news categories
'select_category' => array (
array(
'GETvar' => 'tx_ttnews[cat]',
),
),
// news articles and searchwords
'artikel' => array(
array(
'GETvar' => 'tx_ttnews[tt_news]',
'lookUpTable' => array(
'table' => 'tt_news',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
array(
'GETvar' => 'tx_ttnews[swords]',
),
),
),
),
// configure filenames for different pagetypes
'fileName' => array(
'defaultToHTMLsuffixOnPrev' => 1,
'acceptHTMLsuffix' => 1,
'index' => array(
'rss.xml' => array(
'keyValues' => array(
'type' => 100,
),
),
'rss091.xml' => array(
'keyValues' => array(
'type' => 101,
),
),
'rdf.xml' => array(
'keyValues' => array(
'type' => 102,
),
),
'atom.xml' => array(
'keyValues' => array(
'type' => 103,
),
),
'output.pdf' => array(
'keyValues' => array(
'type' => 123,
),
),
'sitemap.xml' => array(
'keyValues' => array(
'type' => 841132,
),
),
),
),
),
);
Sorry, some problems with code view here :-/
\TYPO3\CMS\Core\Locking\Locker is deprecated.
There is also a Warning:
Missing argument 1 for TYPO3\CMS\Core\Locking\Locker::__construct()
Hi Dmitry,
i have serval error log entries.
System is TYPO3 7.6.4
mariaDB, PHP 7
Running Ext.:
realurl Development
tx_news Latest git
formhandler latest git svn
gridelements latest git
static_info_tables 6.3.9
toctoc_comments 8.1.1
tt_address 3.0 dev
yag latest
Maybe you can do something with this information.
About 4000 error log entries with these lines...
Cheers
Matthias
`Core: Error handler (FE): PHP Warning: Invalid argument supplied for foreach() in /var/www/virtual/domingo/html/typo3conf/ext/realurl/Classes/Configuration/ConfigurationReader.php line 309
Core: Error handler (FE): PHP Warning: Invalid argument supplied for foreach() in /var/www/virtual/domingo/html/typo3conf/ext/realurl/Classes/Configuration/ConfigurationReader.php line 309 Changes in fields: include_static_file.
Core: Error handler (FE): PHP Warning: Invalid argument supplied for foreach() in /var/www/virtual/domingo/html/typo3conf/ext/realurl/Classes/Configuration/ConfigurationReader.php line 309 Changes in fields: hidden,l18n_diffsource.
Core: Error handler (FE): PHP Warning: Invalid argument supplied for foreach() in /var/www/virtual/domingo/html/typo3conf/ext/realurl/Classes/Configuration/ConfigurationReader.php line 309 Changes in fields: CType.
Core: Error handler (FE): PHP Warning: Invalid argument supplied for foreach() in /var/www/virtual/domingo/html/typo3conf/ext/realurl/Classes/Configuration/ConfigurationReader.php line 309 Changes in fields: tags.
Core: Error handler (FE): PHP Warning: Invalid argument supplied for foreach() in /var/www/virtual/domingo/html/typo3conf/ext/realurl/Classes/Configuration/ConfigurationReader.php line 309 Changes in fields: pi_flexform.`
Hi,
I'm running Typo3 6.2.19 on PHP 5.4.16 an got the following:
PHP Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in //www/typo3conf/ext/realurl/Classes/Decoder/UrlDecoder.php on line 1019*
Code:
$this->configuration = GeneralUtility::makeInstance(ConfigurationReader::class, ConfigurationReader::MODE_DECODE);
What am I doing wrong?
Is PHP >= 5.5 mandatory for realurl 2.x?
I'm trying out RealURL 2.0 with TYPO3 7 (7.6.3-dev to be precise).
My RealURL config is here: https://gist.github.com/fsuter/a96c09c5d8ad1e4b13ac
When using RealURL 1.x and TYPO3 6.2 I could make it so that my URLs always included the language segment, even in the default language. With RealURL 2.0, this is no longer true. The URLs in the default language dont' have the language segment (which would have been "fr" in my case). Is something wrong with my configuration?
I did some debugging with Xdebug and it seemed to me that "fr" was always added while going through \DmitryDulepov\Realurl\Encoder\UrlEncoder::encodeUrlParameterBlockUsingValueMap()
but then it does not appear in the typolinks anymore.
URLs to translations have proper language segments.
Using latest revision (c556cb1) with TYPO3 7.6.3:
When I try to access a page, I get the following error
Fatal error: Call to a member function getPageId() on null in typo3conf/ext/realurl/Classes/Decoder/UrlDecoder.php on line 389
This happens because UrlDecoder::decodePathByOverride may return null and the result is not checked before calling getPageId:
https://github.com/dmitryd/typo3-realurl/blob/development/Classes/Decoder/UrlDecoder.php#L388
Fix would be to check the result:
if ($result) {
$currentPid = $result->getPageId();
}
Add devLog (or some other log if no devlog extensions available) for devIP mask.
It should be triggered either by extconf or by TS conf and lo all kind of info about decoding and encoding process.
If a URL alias is set in the page options, the complete menu will not appear because of an error.
So if I deleted the URL alias from the page options, all works fine.
TYPO3: 7.6.4
RealURL: 2.0.3
Can you please fit this bug in the upcoming version, because URL aliases are very useful for SEO.
I have two different sites (and domains) configured that each have their homepage named "accueil" (home in french). Everything was ok since i've upgraded to 2.x but now only one site can work at once, the other throwing a redirection error. I've manually applied the scripts mentioned in the upgrade procedure after upgrading and clearing the cache always produce the same result. It may be useful to mention that each root page of the sites are shortcuts (since I just saw an issue with them on the tracker).
I don't really know or master the guts of realURL but I saw that in the tx_realurl_urlcache table that the rootpage seems to always be 1 even if the second site starts with 359. Here are 2 screenshots to best describe the problem...
I checked in Russian and German.
Implement support for excluding pages from path like in realurl 1.x.
Since I upgraded to Realurl 2 the pages which are subpages of pages type spacer for menu are not accessible anymore. After changing the doctype to folder it works again.
If one is logged in to the backend, realurl will use the NullCache and thus not find anything in any cache. This leads the decoding process of any URL to decodePath()
where the currentPid is set to the rootPid. See: https://github.com/dmitryd/typo3-realurl/blob/development/Classes/Decoder/UrlDecoder.php#L435
Then the searchPages()
method is called (https://github.com/dmitryd/typo3-realurl/blob/development/Classes/Decoder/UrlDecoder.php#L445) where essentially the URL path is checked against the page titles of pages that have the rootPid as parent (https://github.com/dmitryd/typo3-realurl/blob/development/Classes/Decoder/UrlDecoder.php#L1216-L1218). Pages further down in the page tree are not checked and therefor not found.
So a link to a page on the third level in the page tree can never be decoded if you are logged in the backend.
Version 2.0.6 and before
In the backend realurl section URL Cache and Path Cache pointing to different Root page ids for same page e.g. 53. The correct root page with the domain entry has the id 37.
Another root page with the id 1 exist but is deactivated.
Page 53 was created at an earlier stage before domain entries were added. Newly created page receive correct reference to their root page.
If I delete the cache entry beside e.g. the 'infocard' entry I get the message that the cache entry was removed but the entries do not disappear.
Current setup
Active site
ALL deactivated sites (deactivated on root level)
Do not require languageField and transOrigPointerField because those can be obtained from $TCA. However do not remove them completely because aliases can be created for tables that are not in $TCA.
Add a flag to disable localization of aliases if fields should be taken from $TCA.
Look into implementing Redis support either directly or through the TYPO3 caching framework (whatever is best).
I noticed that the path for the English version of the site is formed from the name of the page, for example: domain.ru/ru/about/mission-strategy/ and domain.com/en/about-us/mission-and-strategy/
Multilingual and multi-domain site. Realurl 2.0.4
When you change the title or nav_title of a page and save the changes, you get an php warning:
PHP Warning: Invalid argument supplied for foreach() in typo3conf/ext/realurl/Classes/Hooks/DataHandler.php line 149
TYPO3 7.6.4
realurl 2.0.0
PHP 5.6.17
Create two new pages on wiki:
Tips for integrators should mention #18.
Tips for extension developers should describe how to handle cHash properly in extensions and how to avoid cHash parameters for USER_INT plugins.
Hey,
thanks for Realurl!
It would be very useful, if some properties (originalUrlParameters for example) could be public or at least have a public getter method. I make use of ther userFunc pattern to get some path segment, but i dont have a change to see what language a link is for. My segments value would depend on the target language though.
The only way to solve this atm is to make those properties accessible via reflection but i assume this is very expensive.
Could you please add some getter methods to UrlEncoder to make url generation from userFunc parameters more transparent?
Kind regards,
Philipp
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.