Giter Club home page Giter Club logo

typo3-realurl's Introduction

RealURL extension for TYPO3 CMS

This is version 2.x of the famous RealURL extension for TYPO3 CMS. This version is rewritten from scratch and will work only with TYPO3 6.2 or newer.

Repository, bug reporting, pull requests, etc is handled via github project

Notes:

  • TYPO3 6.2 is supported partially: Backend modules work only with TYPO3 ≥ 7.6
  • TYPO3 7.6 and 8.7 are supported fully
  • Anything newer than TYPO3 8.7.9999 is not supported and will never be supported. Don't even try.
  • If you find errors, please, report them to the issue tracker. This place is only for bugs. Use TYPO3 Slack (#realurl channel) for questions!
  • You are strongly advised to have "Is root page?" set in page properties on all your root pages. Otherwise it is your own fault :)
  • If you have questions like "Why did you...", please, read the Developer's page on the Wiki first.
  • If you want to contribute, you are welcome! Please, read "Contribution" page in the documentation.
  • If you think you found a bug, in 99% of cases it means you did not read docs. Wiki pages are available. RTFM first! :)

Since TYPO3 6.2, 7.6 and 8.7 are EOL now, this extension is going to retire. What does it mean?

  1. There will be no new features anymore unless they are sponsored.
  2. There will be bug fixes from time to time. Also you can sponsor a bug fix if you really need it. Otherwise you can add it to the issue tracker and hope to be fixed :)

I am sorry but after developing and supporting this most popular TYPO3 extension mostly for free since 2006, I have to stop at some point.


Documentation

typo3-realurl's People

Contributors

adrienjacob avatar astehlik avatar bmoex avatar dmitryd avatar dwinkelbauer avatar franzkugelmann avatar gregor-agnes avatar hannesbochmann avatar josefglatz avatar liayn avatar markuspoerschke avatar maximilian-walter avatar mbrodala avatar msecker avatar mueller-sebastian avatar p2media avatar razielles avatar romm avatar rvock avatar ryno83 avatar sgrossberndt avatar smichaelsen avatar stweil avatar tantegerda1 avatar tbal avatar thekvist avatar tmotyl avatar ulfried avatar webian avatar worksdev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

typo3-realurl's Issues

Force language segment (preVar)

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.

Wrong link to homepage with .html suffix

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 :-/

Uncaught TYPO3 Exception: #1420480928: RealURL was not able to find the root page id

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/

PHP 5.5 dependency

PHP 5.5 dependency should be documented in ext_emconf.php
The ::class operator depends on PHP 5.5

PHP Parse error ???

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?

Shortcut leads to 404

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)

Alias field broken since 2.0

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.

Unit tests

I assume the development is not test driven, is there a chance for unit tests in the future?

ID was outside the domain

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

Redis caching

Look into implementing Redis support either directly or through the TYPO3 caching framework (whatever is best).

JS errors in Backend

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();
    });
});

Cache clean up task

Add a scheduler task to clean up the following data:

  • Expired aliases
  • Expired path cache entries

Speaking URL management in TYPO3 6.2.

I´m running TYPO3 6.2.19 and updated RealUrl to 2.0.6. It looks fine but I can´t clear caches because the "Speaking URL management"-Tab is missing in WEB-Section and also in Info, where it was till 2.0. In TYPO3 7.6.4 it appears.

realurl

Does anyone else has this problem?

PHP Warning on page save

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

Make originalUrlParameters accessible in UrlEncoder

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

Add devLog calls

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.

Language links include page title in wrong language

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.

Documentation updates

Create two new pages on wiki:

  • tips for integrators
  • tips for extension developers

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.

PHP Catchable Fatal Error with Bootstrap Package - realurl_autoconf.php not generated

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

URLs with parent "menu seperator" are not decoded when logged in into Backend

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.

fileName for Types doesnt work

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!

rootpage_id could not be determined

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

Configuration troubles

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

PHP 5.5 Code present while dependency says PHP 5.3.2-7.0.999

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 :)

Several error log entries

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.`

AbsRefPrefix is not cached

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.

Postvarsets broken

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' => '-',
          ),
        ),
      ),

    ),
  ),
),

URL Cache and Path Cache showing different Root page ids for same page

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

  • Site ONE (root id= 37, domain record)
    • Page 'infocard' (id=53)

ALL deactivated sites (deactivated on root level)

  • Site TWO (root id=60, domain record)
  • Site THREE (root id=65, domain record)
  • Site FOUR (root id=1, NO domain record)
    image6
    image7

Collision between pages that are named the same in 2 different domains and creating redirection problem since update

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...

selection_072
selection_073

postVarSet / Backend

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.

Use Github Pages instead of Wiki for docs

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.

lookupTable should not use empty aliases

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

Call to a member function getPageId() on null

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();
}

Backend Module Error

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.

Default using L path segment does not work / exclude root page from path

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

unique alias cache misses are not resolved

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).

Segment lookup failing when Backend User logged in

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.

The page setup is like this:
screen shot 2016-03-05 at 12 05 19

All menu separators have Exclude from speaking URL: Enabled.

Could not fetch page data for uid 0

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.

Error 404 when page has the same title as a sysfolder on the same level

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:

  • top navigation
    • navpoint
      • subnavpoint

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."

Improve alias configuration

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.

Bug with URL alias on page options

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.

No icons visible in Info Module > RealURL Management

Hi,

In TYPO3 7 LTS the backend module is not more usable because there is no more icons to manage the path cache for example. The problem is that the icons are loaded from the folder "gfx" who has been deleted in TYPO3 7.

2015-12-15_1630

Thanks a lot!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.