witrin / TypoGento

Integrating Magento with TYPO3.
15 stars 3 forks source link

[Typo3 6.2.x] 404 Page #35

Closed Anbieter closed 10 years ago

Anbieter commented 10 years ago

Whenever I place a typogento element on a page, the page isn't visible in the frontend anymore, instead it only shows a 404 error page.

I've installed the latest version and checked 3 times if I've eventually made any errors during the installation, but everything seems fine, the status report also indicates that everything is installed correctly.

I haven't changed the Typoscript, since I've found no Documentation on this extension.

Could you please help me out?

Greetings, Paul

witrin commented 10 years ago

404 exceptions coming always when the routing is misconfigured. So there might be a bug in the default TS. There is also a debug function for this stuff.

See https://github.com/witrin/TypoGento/blob/3d1b92f94c5a360b70d5b45aa6750404c1561d14/src/TYPO3/typo3conf/ext/typogento/Classes/Core/Rewriter.php#L60 and https://github.com/witrin/TypoGento/blob/3d1b92f94c5a360b70d5b45aa6750404c1561d14/src/TYPO3/typo3conf/ext/typogento/Classes/Core/Dispatcher.php#L143

Both using the Log API from TYPO3 see ($this->logger = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Log\\LogManager')->getLogger(__CLASS__)). Maybe you could post the output here.

Also did you use the default routing TS for this plugin?

Anbieter commented 10 years ago

Hi witrin, thank you for your fast answer!

The Typogento related things I got:

Strict Standards: Declaration of Tx\Typogento\Service\System\AuthenticationService::authUser() should be compatible with TYPO3\CMS\Sv\AuthenticationService::authUser(array $user) in /var/www/vhosts/domain.tld/httpdocs/typo3conf/ext/typogento/Classes/Service/System/AuthenticationService.php on line 13

Strict Standards: Only variables should be assigned by reference in /var/www/vhosts/domain.tld/httpdocs/typo3conf/ext/typogento/Classes/Configuration/TypoScript/Register/ContentFieldsProvider.php on line 54

And I used the default TS.

witrin commented 10 years ago

This won't help about the 404. Try to get the Logging API configured for the Tx\Typogento\Core\Rewriter and Tx\Typogento\Core\Dispatcher classes (debug level): http://docs.typo3.org/typo3cms/CoreApiReference/6.2/ApiOverview/Logging/Configuration/Index.html. Also you might noticed that the last update was a long time ago. Unfortunately I lack the time to maintain and finish this project and in the meanwhile nobody seems able to help.

Anbieter commented 10 years ago

Here it is: http://pastebin.com/mJX4E8bm

Sorry for the post above, I've misread what you meant.

witrin commented 10 years ago

Hm it looks like that when you request / on your TYPO3 CMS node TypoGento dispatches this to /catalog/category/view/id/3/? of your Magento node. After that all URLs within this Magento actions are rewritten successfully.

This is the only place where a 404 is generated by TypoGento: https://github.com/witrin/TypoGento/blob/3d1b92f94c5a360b70d5b45aa6750404c1561d14/src/TYPO3/typo3conf/ext/typogento/Classes/Controller/BlockController.php#L77. So you could add a debug output to make sure this is not the case. The second possibility is that your request is dispatched to the Magento 404 route. But this is not the case regarding to the pastebin.

So currently it looks like that you requesting: http://your-typo3/ and getting http://your-magento/catalog/category/view/id/3/. Please make sure the latest address exist.

witrin commented 10 years ago

Sorry I meant "check" not "make sure".

Anbieter commented 10 years ago

I've tried it, and I always get a 404 message on magento with every id when I try to call /catalog/category/view/id/XXX/.

The default URL for the category would be /default/handys.html, whereas handys is the title of the page.

witrin commented 10 years ago

Ok then that's the reason for your 404! Which version of Magento do you use? Also you need to figure out how to use a category id within a Magento URL. Then you'll be able to get this working. You'll need then just a little bit TypoScript.

witrin commented 10 years ago

http://magento.stackexchange.com/questions/179/category-view-url-doesnt-get-routed-product-view-does

witrin commented 10 years ago

Here it works: http://magento.mittwald.de/catalog/category/view/id/22

Anbieter commented 10 years ago

I'm using version 1.9.0.1, and I've found the bug, it's not using this URL:

http://magento-store/magento/`default`/catalog/category/view/id/3 it's using this URL: http://magento-store/magento/catalog/category/view/id/3

I'm unsure about the typo3 config now...

witrin commented 10 years ago

Ok in this case you could try to map the L paramater to the corresponding of Magento: https://github.com/witrin/TypoGento/blob/develop/src/TYPO3/typo3conf/ext/typogento/Configuration/TypoScript/Default/setup.txt#L163. You need to know target is just a TypoLink. And I've not implemented Language support into the TS.

Anbieter commented 10 years ago

Okay, I've changed the routing in https://github.com/witrin/TypoGento/blob/develop/src/TYPO3/typo3conf/ext/typogento/Configuration/TypoScript/Default/setup.txt#L169 from wrap = mage:/|/ to wrap = mage:/default/|/, and now the category finally shows up. But when i click on a product in the typo FE now, it just reloads the page, the single product isn't shown. typogento01

witrin commented 10 years ago

When you use the single page setup, you might get a cached page!? What URL we talking about? Is there a cHash?

witrin commented 10 years ago

Ether you disable caching for this page or you try to add a cHash into https://github.com/witrin/TypoGento/blob/develop/src/TYPO3/typo3conf/ext/typogento/Configuration/TypoScript/Default/setup.txt#L233. But there was something else which I don't remember currently. :S

Anbieter commented 10 years ago

I'm getting this URL: ?tx_typogento%255Broute%255D=catalog&tx_typogento%255Bcontroller%255D=product&tx_typogento%255Baction%255D=view&tx_typogento%255Bid%255D=1&tx_typogento%255Bcategory%255D=3 which is doing nothing so far.

By the way, I've sent you an email, please check it out sometime.

witrin commented 10 years ago

The other thing is this here: https://github.com/witrin/TypoGento/blob/develop/src/TYPO3/typo3conf/ext/typogento/Classes/Controller/BlockController.php#L51. Try to disable the cache flag in the BE of plugin. Then this should be auto converted to an userint.

Anbieter commented 10 years ago

I have been playing around with it a bit and now I found another bug, I guess. When I finish the checkout, the Browser redirects me to the Cart again, where the same product is still in it.

When I observed the Network connection it showed me this error: http://i.imgur.com/mjAhMBo.png

Any clue what it could mean?

witrin commented 10 years ago

Yes this might be a problem with the new form key feature of Magento. I would say your checkout hasn't finished regard to the link (saveOrder). I have written a solution for this (form key) but I don't remember that good. I think I've solved it with Javascript, which is included in the extension.

Anbieter commented 10 years ago

It was a problem with Magento 1.9.x.

I've installed 1.7.0.2 and everything runs smoothly, except for the registration in the checkout.

EDIT: I closed this now as the bugs came from the wrong magento version, so it was my fault. Thank you very much for your help :)