witrin / typogento Goto Github PK
View Code? Open in Web Editor NEWThis project forked from flagbit/typogento
Integrating Magento with TYPO3.
This project forked from flagbit/typogento
Integrating Magento with TYPO3.
The code pool
setting needs to be fixed. The module is mistakenly configured as local
in app/code/etc/modules/Wee_Typogento.xml
.
After installing and configuring (and setting tx_weetypogento_group
manually) I get this:
Fatal error: Class 'Zend_Log' not found in
C:\xampp\htdocs\magento\app\code\community\Wee\Typogento\Model\Url.php on line 64
With the new version 1.7.0.0 of the Magento Community Edition, some menu items have changed regarding the creation of an account for the Magento API (SOAP).
The namespaces of both extensions should be unified. So that TypoGento is the top-level namespace:
wee_typogento
to typogento
Wee_Typogento
to Typogento_Core
This would have the advantage of a uniform separation within the top-level namespace of the two extensions.
I'm trying to include the top-links from Magento on every page with the following typoscript:
lib.shopheader < plugin.tx_typogento_pi1
lib.shopheader {
block = top.links
}
This works fine in all languages as long as there is a Magento content element. On any other page, only the default language with the default store view is working, all other languages result in an error "Page not found".
Do you know any solutions for this?
It seems there is a problem when i try to login via the onePageCheckout. I get only logged in in Typo3, but not correctly in Magento.
I have the following pages:
Templates:
On the Shop Page ID 10
/**
* Setup generic routes for dispatching and rendering
*/
config.tx_typogento {
# Similar to Flagbit's TypoGento routing without Ajax support
routes {
# The dispatch route
10 {
# See http://wiki.typo3.org/TSref/if
filter.isTrue = 1
# See http://wiki.typo3.org/TSref/typolink
target {
# Overrules FlexForm parameters with GET parameters, otherwise /cms/index/index
parameter.cObject = COA
parameter.cObject {
10 = TEXT
10 {
wrap = mage:/|/
value = cms
override.data = GP:route // register:tx_typogento.content.route
}
20 = TEXT
20 {
wrap = |/
value = index
override.data = GP:controller // register:tx_typogento.content.controller
}
30 = TEXT
30 {
wrap = |/
value = index
override.data = GP:action // register:tx_typogento.content.action
}
40 = TEXT
40 {
wrap = id/|/
data = GP:id // register:tx_typogento.content.id
if.isTrue.data = GP:id // register:tx_typogento.content.id
}
}
# Excludes primary route parameters (see above)
addQueryString = 1
addQueryString.exclude = route,controller,action,id
}
# Sets the route section
section = dispatch
}
# The render route
20 {
# The default priority is 0
priority = 0
# See http://wiki.typo3.org/TSref/if
filter.isTrue = 1
# See http://wiki.typo3.org/TSref/typolink
target {
# Targets the current page
parameter.data = TSFE:id
# Adds all query parameter
addQueryString = 1
}
# Sets the route section
section = render
}
}
}
On the Shopping Cart Page ID 30
( I think here is the problem. I already tried to add stuff like "customer/account/loginPost" to the first Filter)
/**
* Setup render routes for the Magento onepage checkout
*/
config.tx_typogento {
routes {
# Render route for the Ajax action URLs
100 {
# See http://wiki.typo3.org/TSref/if
filter {
# Filters all Ajax actions
value = /checkout/onepage/saveMethod/,/checkout/onepage/progress/,/checkout/onepage/saveBilling/,/checkout/onepage/getAdditional/,/checkout/onepage/saveShipping/,/checkout/onepage/saveShippingMethod/,/checkout/onepage/savePayment/,/checkout/onepage/saveOrder/
isInList.dataWrap = /{GP:route}/{GP:controller}/{GP:action}/
}
# See http://wiki.typo3.org/TSref/typolink
target {
# Targets a prepared page with Ajax support (see https://gist.github.com/3220729)
#parameter = {$plugin.tx_typogento.ajax.pid}
parameter = 35
# Adds all query parameter
addQueryString = 1
}
# Sets the route section
section = render
# Sets the priority higher as default
priority = 1
}
# Render route for the success action URL
110 {
# See http://wiki.typo3.org/TSref/if
filter {
# Filters the success action
equals = /checkout/onepage/success/
value.dataWrap = /{GP:route}/{GP:controller}/{GP:action}/
}
# See http://wiki.typo3.org/TSref/typolink
target {
# Targets a prepared page with a TypoGento content plugin
parameter = 30
# Adds all query parameter
addQueryString = 1
}
# Sets the route section
section = render
# Sets the priority higher as default
priority = 1
}
}
}
and last on the Ajax Page id 35:
/**
* Setup basic Ajax page
*/
ajax = PAGE
ajax {
# Set as default type
typeNum = 0
config {
# Disable header code
disableAllHeaderCode = 1
# Set content type (RFC 4627)
additionalHeaders = Content-Type: application/json; charset=utf-8
}
# Use TypoGento as output
10 < plugin.tx_typogento_pi1
10 {
# Disable caching
cache = 0
# Enable Ajax output
mode = ajax
}
}
My realurl_conf.php (Only important Part´s)
'redirects_regex' => array(
'^catalog\/(.*)$' => 'http://www.domain.de/shop/testkategorie-1/',
),
'postVarSets' => array(
'_DEFAULT' => array (
'shoparticle' => array (
0 => array (
'GETvar' => 'tx_fbmagento[shop][s]',
),
),
'catalog' => array (
0 => array (
'GETvar' => 'tx_fbmagento[shop][route]',
),
1 => array (
'GETvar' => 'tx_fbmagento[shop][controller]',
),
2 => array (
'GETvar' => 'tx_fbmagento[shop][action]',
),
3 => array (
'GETvar' => 'tx_fbmagento[shop][id]',
'userFunc' => 'EXT:fbmagento/lib/class.tx_fbmagento_realurl.php:&tx_fbmagento_realurl->idRewrite',
),
4 => array (
'GETvar' => 'tx_fbmagento[shop][product]',
),
),
When i add a plugin with "Benutzerdefiniert=>Customer=>account=>logout" it does not logg me out correctly to.
What to to?
I have a workaround to use the Shop till i can fix this, i just have the Shopping Card dissabled until FE Login, and the users need to login via the Plugin first ("Benutzerdefiniert=>customer=>account=>login") which works.
This should first cover an extension manual and some tutorials. Other useful topics would be provided application scenarios, contribution guidelines, frequently asked questions and troubleshooting.
First off, I have absolutely no knowledge of Typo3, so if I'm doing something really, really stupid here please be kind.
I tried getting TypoGento to work but it seems it isn't mainained anymore (correct me if I'm wrong). I managed to cover most of the backend stuff, I'm only having trouble with points 5 ("Add the scheduled task for clearing the Magento API cache in Admin Tools > Scheduler") and 6 ("Setup the TypoGento routing system"). When I went back to check on the frontend I recieved a error 500. Examining the log files I could come up with
mod_fcgid: stderr: PHP Fatal error: Call to undefined method t3lib_div::GPvar() in
/path/to/typo3/docroot/typo3conf/ext/fb_magento/lib/class.tx_fbmagento_hookobserver.php on line 33
I googled this error on the internet and found this page: http://bugs.typo3.org/view.php?id=18358 I took a shot in the dark an switched from t3lib_div::GPvar()
to t3lib_div::_GP
, which seemes to do the trick for me.
I'm facing the problem that my client wants to display products on his Typo3 powered website using Magento as eCommerce software. TypoGento to the rescue. But I have almost no knowledge of Typo3, I'm just beginning to learn. So I got the plugin up and running so far but with the given documentation it is very difficult for me to display products or categories on a Typo3 page. Is there an example available I'm missing?
The mechanism for the synchronization of customer accounts has some design flaws. Because both systems have partially different password encryption methods, they are also two equivalent sources, against which must be authenticated. Thus, passwords should be synchronized only, when an account is created or when a password is changed by a user. In the worst case, if such a plain text synchronisation was not possible before an authentication has been performed (e. g. by an import), it would be neccessary to check both systems as long as the user or the administrator doesn't change the password.
Sorry if I'm keeping you busy with what might be simple stuff for somebody with a lot more experience. But I'm willing to listen, read and learn. Can you please explain how to change the store view that gets used for the display of category or product pages?
My setup: I've installed a brand new Magento store and a Typo3 website. I've create a couple categories and a single simple product. I've created a second store view in Magento and named it "Typo3". In the Design settings I've changed the theme to "blank". How can I tell the TypoGento plugin to use this second storeview whenever a category or product page is displayed in Typo3?
The error lib_unresolved_target_url_error
has no language label.
The setup resource for the Magento module is wrongly declared. Also the setup resource folder is wrongly named. This bug results in a fatal error during the authentication of a TYPO3 frontend user.
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
Using the newest developer release:
Fatal error: Class 'tx_weetypogento_magentoHelper' not found in
C:\xampp\htdocs\typo3\t3lib\class.t3lib_div.php on line 4934
After installing the TYPO3 module in extension manager:
Catchable fatal error: Argument 4 passed to t3lib_cache_Factory::create() must be an array, null given,
called in C:\xampp\htdocs\typo3\typo3conf\temp_CACHED_ps7c6a_ext_localconf.php on line 1562
and defined in C:\xampp\htdocs\typo3\t3lib\cache\class.t3lib_cache_factory.php on line 82
Migrate the TYPO3 extension tx_typogento
to Extbase.
The Magento API path only works for configurations which use URL rewrites (see http://www.typogento.com/bugtracker/view.php?id=52).
The current implementation for the integration of Magento customer into TYPO3 needs to be refactored. The following scenarios are conceivable but maybe not required:
Scenario | Magento Customers | TYPO3 Frontend Users |
---|---|---|
A | none exist | none exist |
B | none exist | exist |
C | exist | none exist |
D | exist | exist |
The main questions here are which scenarios should be provided by TypoGento, how should they be provided (regarding the integration of several aspects like authentication etc.) and what would be best approach to implement this?
At runtime of TYPO3 the entire API of Magento is available, unlike when Magento is started alone, where no direct access to the API of TYPO3 is possible, alternatively RPC services could be used or provided on both sides.
A synchronization between both databases is the current approach but seems to produce more problems as it solves, especially because Magento and TYPO3 use different methods to encrypt passwords.
Currently is the replication of Magento customers and TYPO3 frontend users an integral part of TypoGento. But there maybe some use case in which this is not desirable. At least it should be possible to disable this feature completly, e.g. when TYPO3 and Magento are synchronized with third party source like LDAP.
Hey there,
I am struggling with TYPO3-side configuration and cannot seem to get the generic routes (tried quite a few setups, now sticking with https://gist.github.com/witrin/3220650) running.
There were mainly two errors. One saying that the dispatch route is not configured properly and now with the gist mentioned above there is no error shown, but I get redirected to the shop whenever opening a page that contains the TypoGento plugin.
Do you have any idea on how to resolve this?
Ampersands in URLs are not escaped as character entity references. The problem here is that Magento route paths
are not part of the URL query string, further there is no way to make out if a call of Mage_Core_Model_Url::getUrl()
is used for a script or just in plain Markup. An hmlspecialchars
-property for TypoScript routes could be helpful to force the conversion in this particular case, or to suppress it.
Some of Magento core modules (e.g. Mage_Log
) are not completely processed, because requests are aborted prematurely with a redirect.
Hi!
I am not sure wether I should post this here and if it is a generic problem but nonetheless here it is:
I have the latest Typo3 4.5 and Magento 1.7 latest. All is configured and works pretty well; however there are some things that do not. For example:
When opening the cart page and clicking on "Delete item" I get a Typo3 error
"Page Not Found
Reason: Segment "checkout" was not a keyword for a postVarSet as expected!"
This is then redirected to http://example.com/checkout/cart/index/?/.
Now, I think this could be a missing route configuration but I am not sure on how to fix this.
Help would be much appreciated.
Many thanks!
Upon installing and configuring the TYPO3 extension I got:
Access denied
Magento group membership was not set.
I don't think I saw a form to declare this. Fixed it by setting it manually in be_user.tx_weetypogento_group
.
Edit: Is this supposed to be set in the Magento module under TYPO3 Frontend > Users Group
? I just tried it this way but that didn't change anything in be_user.tx_weetypogento_group
in the TYPO3 database.
Hi,
I'm actually trying to upgrade my old TypoGento shop to Typo3 6.2 and Magento 1.9 with your reworked extensions. So far, it is working pretty well, just one thing is giving me a headache.
Is it possible to switch between different store views? And could you give me a hint what to do?
Best regards,
Dan
With outdated versions of Xdebug fatal errors can occur in TYPO3 if the Magento SOAP API provides incorrect answers, which in turn may be caused by a misconfiguration of TypoGento (see http://bugs.xdebug.org/view.php?id=249 and http://bugs.xdebug.org/view.php?id=609).
This can be easily handled by disabling Xdebug for the initialization of the SOAP client.
Hi.
I've installed the plugin on Typo3 4.7 and magento 1.7.
No error in Typo3 reports, I can see the admin view of Magento from typo3 and put the plugin on the page.
I've put on root typo3 template the scripts taken from "common settings" in your wiki and from "generic routes".
I get no answer from the page where is located the plugin (Error 324(net::ERR_EMPTY_RESPONSE) if I select "product from the plugin and "page not found" if I select customer/catalog.
Maybe there is some error in the typoscript configuration or something that I'm missing?
The Magento installation works on the same machine (localhost).
Many thanks for your help.
Nicola.
With a structure like this:
and some Products in each of the Categories, and 2 Typo3 Sites, each with a Plugin "Category" in it Products will be rendered the following way:
Maybe something with the old loop?
How can I display a vertical navigation on a page? Or in other words, how can I load any Magento block within a Typo3 page. I'd like to see a code snippet, please and hopefully I can work my way up from there.
Oh, by the way, thank you for improving TypoGento. It is really sad that the original plugin isn't maintained anymore. I really appreciate your work and what's more, your help.
The ACL for the TypoGento SOAP API does not appear in the Magento backend.
The access control list entries for the TypoGento SOAP API should be better integrated into the existing structure of Magento. Most of them are just extensions of existing nodes and thus not realy part of TypoGento.
Hey Artur,
thanks for all your work. We'd really be interested in including your work. How can we get together?
Best regards,
Michael
The code for the replication of Magento customer accounts and TYPO3 frontend users should be separated from the TypoGento core module (Typogento_Core
). It would be best to do that with a separate module (Typogento_Replication
).
Fatal errors should be avoided, especially when they are caused by misconfigurations. The user should be supported by more effective error messages overall. The error messages should be stored in TYPO3 and Magento as localized resources.
It seems that the Categories are not updated to the BackEnd Plugin after the first install.
I tried to add root-Categories AND Sub-Categories, but booth are not visible in the Magento Extension Plugin.
All categories are places under the default categorie.
What to do? If you could explain me how and where the Data is fetched i could take a look over it. :)
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.