XF2 [8WR] XenPorta 2 (Portal) PRO

XF2 [8WR] XenPorta 2 (Portal) PRO [Paid] 2.2.0.7

No permission to buy ($40.00)
We can't just overwrite the /threads/ route with /articles/ without editing the core functions of how threads work in XenForo. I have no interest in changing any core functions of XenForo... not to mention, this would actually create duplicate content for SEO issues. The duplicate content you are complaining about is not duplicate content; its just two links to the same content.
 
Also... I want to re-iterate again... XenPorta is NOT a content management system.
XenPorta is an article system and front-end that allows you to give a more professional look to the front-facing sections of your forum. It's built completely within XenForo's existing structure and does not add any new content types to manage.
 
URL Structure

I have no interest in changing any core functions of XenForo.

Full stop - Good decision


However, as the article is rendered within the forum but just with an article-type layout, clicking on the breadcrumb back to your category name will now take you to the forum category instead.

Hide/remove breadcrumbs :)


188181


...This is an ok mid-solution, however it still leaves the issue of page flow again, where clicking through to an article will lead the user back to the forum category via the forum breadcrumb/template. ...

...Suddenly they are in a forum category and have no clear way to get back to the articles list they were just in. ...

188182
 
@Jaxel I received lot's of error's, would you please fix this in the next release.

Code:
InvalidArgumentException: Accessed unknown getter 'prefix_id' on EWR\Porta:Article[1919] src/XF/Mvc/Entity/Entity.php:182

Stack Trace
#0 src/XF/Mvc/Entity/Entity.php(95): XF\Mvc\Entity\Entity->get('prefix_id')
#1 src/XF/Template/Templater.php(2755): XF\Mvc\Entity\Entity->__get('prefix_id')
#2 [internal function]: XF\Template\Templater->fnPrefix(Object(XF\Template\Templater), true, 'ams_article', Object(EWR\Porta\Entity\Article))
#3 src/XF/Template/Templater.php(881): call_user_func_array(Array, Array)
#4 internal_data/code_cache/templates/l15/s70/public/xa_ams_article_wrapper_macros.php(23): XF\Template\Templater->fn('prefix', Array, true)
#5 src/XF/Template/Templater.php(663): XF\Template\Templater->{closure}(Object(XF\Template\Templater), Array, Array)
#6 internal_data/code_cache/templates/l15/s70/public/xa_ams_thread_insert.php(26): XF\Template\Templater->callMacro('xa_ams_article_...', 'header', Array, Array)
#7 src/XF/Template/Templater.php(1250): XF\Template\Templater->{closure}(Object(XF\Template\Templater), Array)
#8 src/XF/Template/Templater.php(1324): XF\Template\Templater->renderTemplate('xa_ams_thread_i...', Array)
#9 internal_data/code_cache/templates/l15/s70/public/thread_view.php(190): XF\Template\Templater->includeTemplate('public:xa_ams_t...', Array)
#10 src/XF/Template/Templater.php(1250): XF\Template\Templater->{closure}(Object(XF\Template\Templater), Array)
#11 src/XF/Template/Template.php(24): XF\Template\Templater->renderTemplate('thread_view', Array)
#12 src/XF/Mvc/Renderer/Html.php(48): XF\Template\Template->render()
#13 src/XF/Mvc/Dispatcher.php(332): XF\Mvc\Renderer\Html->renderView('XF:Thread\\View', 'public:thread_v...', Array)
#14 src/XF/Mvc/Dispatcher.php(303): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#15 src/XF/Mvc/Dispatcher.php(44): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#16 src/XF/App.php(1931): XF\Mvc\Dispatcher->run()
#17 src/XF.php(329): XF\App->run()
#18 index.php(13): XF::runApp('XF\\Pub\\App')
 
Full stop - Good decision
No need for "full stop" here. As prefaced I mentioned if possible, and admitted I understand XF probably has limitations to achieve this. Of course the correct decision with any addon is to adhere with present XF functionality until further functionality is added.
Hide/remove breadcrumbs :)
Thanks but I don't really feel removing breadcrumbs is an ideal solution, as it's basically up to the site owner to bounce their users around in an intuitive way by hiding/adding/tweaking things. My goal was simply to inspire "is there a way to have things more intuitive" from the get go.
IF this is basically the way the add-on must function, then I can understand that.

@Jaxel
I appreciate your reply. As a user of your add-ons for many years, I admit it'd be fantastic to see a more robust CMS plugin with your development quality. XenPorta has always been extremely close.. I know there's been others hoping as well, and unfortunately XF team still doesn't appear to be planning anything :(

Edit: I probably did not word my point on duplicate content as intended. What I meant was the idea of multiple categorical listings containing the same keyword titles and excerpts, for example if you wanted to index a XenPorta "Health & Fitness" category as your main search result, vs the forum category being search ranked for the same content. But I see this is probably outside the scope and intended purpose of this add-on.
 
Last edited:
@Jaxel I received lot's of error's, would you please fix this in the next release.

Code:
InvalidArgumentException: Accessed unknown getter 'prefix_id' on EWR\Porta:Article[1919] src/XF/Mvc/Entity/Entity.php:182

Stack Trace
#0 src/XF/Mvc/Entity/Entity.php(95): XF\Mvc\Entity\Entity->get('prefix_id')
#1 src/XF/Template/Templater.php(2755): XF\Mvc\Entity\Entity->__get('prefix_id')
#2 [internal function]: XF\Template\Templater->fnPrefix(Object(XF\Template\Templater), true, 'ams_article', Object(EWR\Porta\Entity\Article))
#3 src/XF/Template/Templater.php(881): call_user_func_array(Array, Array)
#4 internal_data/code_cache/templates/l15/s70/public/xa_ams_article_wrapper_macros.php(23): XF\Template\Templater->fn('prefix', Array, true)
#5 src/XF/Template/Templater.php(663): XF\Template\Templater->{closure}(Object(XF\Template\Templater), Array, Array)
#6 internal_data/code_cache/templates/l15/s70/public/xa_ams_thread_insert.php(26): XF\Template\Templater->callMacro('xa_ams_article_...', 'header', Array, Array)
#7 src/XF/Template/Templater.php(1250): XF\Template\Templater->{closure}(Object(XF\Template\Templater), Array)
#8 src/XF/Template/Templater.php(1324): XF\Template\Templater->renderTemplate('xa_ams_thread_i...', Array)
#9 internal_data/code_cache/templates/l15/s70/public/thread_view.php(190): XF\Template\Templater->includeTemplate('public:xa_ams_t...', Array)
#10 src/XF/Template/Templater.php(1250): XF\Template\Templater->{closure}(Object(XF\Template\Templater), Array)
#11 src/XF/Template/Template.php(24): XF\Template\Templater->renderTemplate('thread_view', Array)
#12 src/XF/Mvc/Renderer/Html.php(48): XF\Template\Template->render()
#13 src/XF/Mvc/Dispatcher.php(332): XF\Mvc\Renderer\Html->renderView('XF:Thread\\View', 'public:thread_v...', Array)
#14 src/XF/Mvc/Dispatcher.php(303): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#15 src/XF/Mvc/Dispatcher.php(44): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#16 src/XF/App.php(1931): XF\Mvc\Dispatcher->run()
#17 src/XF.php(329): XF\App->run()
#18 index.php(13): XF::runApp('XF\\Pub\\App')
It looks like the issue is that you are using two article systems... which use the same variable names.
 
@Jaxel I am recently, as of earlier this morning receiving the same kind of errors as shown below:

Code:
    InvalidArgumentException: Accessed unknown getter 'prefix_id' on EWR\Porta:Article[356] src/XF/Mvc/Entity/Entity.php:182

    Generated by: Corathan Nov 23, 2018 at 11:28 AM

Stack trace

#0 src/XF/Mvc/Entity/Entity.php(95): XF\Mvc\Entity\Entity->get('prefix_id')
#1 src/XF/Template/Templater.php(2755): XF\Mvc\Entity\Entity->__get('prefix_id')
#2 [internal function]: XF\Template\Templater->fnPrefix(Object(xenMade\LAU\XF\Template\Templater), true, 'ams_article', Object(EWR\Porta\Entity\Article))
#3 src/XF/Template/Templater.php(881): call_user_func_array(Array, Array)
#4 internal_data/code_cache/templates/l1/s15/public/xa_ams_article_wrapper_macros.php(23): XF\Template\Templater->fn('prefix', Array, true)
#5 src/XF/Template/Templater.php(663): XF\Template\Templater->{closure}(Object(xenMade\LAU\XF\Template\Templater), Array, Array)
#6 internal_data/code_cache/templates/l1/s15/public/xa_ams_thread_insert.php(26): XF\Template\Templater->callMacro('xa_ams_article_...', 'header', Array, Array)
#7 src/XF/Template/Templater.php(1250): XF\Template\Templater->{closure}(Object(xenMade\LAU\XF\Template\Templater), Array)
#8 src/XF/Template/Templater.php(1324): XF\Template\Templater->renderTemplate('xa_ams_thread_i...', Array)
#9 internal_data/code_cache/templates/l1/s15/public/thread_view.php(207): XF\Template\Templater->includeTemplate('public:xa_ams_t...', Array)
#10 src/XF/Template/Templater.php(1250): XF\Template\Templater->{closure}(Object(xenMade\LAU\XF\Template\Templater), Array)
#11 src/XF/Template/Template.php(24): XF\Template\Templater->renderTemplate('thread_view', Array)
#12 src/XF/Mvc/Renderer/Html.php(48): XF\Template\Template->render()
#13 src/XF/Mvc/Dispatcher.php(332): XF\Mvc\Renderer\Html->renderView('XF:Thread\\View', 'public:thread_v...', Array)
#14 src/XF/Mvc/Dispatcher.php(303): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#15 src/XF/Mvc/Dispatcher.php(44): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#16 src/XF/App.php(1931): XF\Mvc\Dispatcher->run()
#17 src/XF.php(329): XF\App->run()
#18 index.php(13): XF::runApp('XF\\Pub\\App')
#19 {main}

Request state

array(4) {
  ["url"] => string(33) "/threads/welcome-em-corathan.356/"
  ["referrer"] => string(21) "https://titanx.games/"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}

Do you know of any existing conflict between XenPorta2 and Bob's AMS from XenAddons? Since XenPorta2 is a repeatedly asserted as not being a content management system, I have decided to try and utilize XenPorta2 functionality to push 'administrative' only content to our homepage while allowing the AMS system to manage CMS that is member created.

While this and the slew of other errors I am receiving from my ACP do not seem to be causing any functionality issues, it is important that I try to isolate and correct and potential conflicts. Bob is very receiving to user feedback and it is likely that if some common verbiage is being used, he may be willing to work with that to avoid conflicts between his add-on and your own, but I need to isolate it before I can even bring it to him for a request/review.

Outside of that above server error log, I also have errors like:

  • ErrorException: Template error: Method getExtraFieldTabs is not callable on the given object (EWR\Porta\Entity\Article)
  • src/XF/Template/Templater.php:936

  • Generated by: Corathan
  • Nov 23, 2018 at 11:28 AM

Stack trace

#0 [internal function]: XF\Template\Templater->handleTemplateError(512, 'Method getExtra...', '/usr/www/ultima...', 936, Array)
#1 src/XF/Template/Templater.php(936): trigger_error('Method getExtra...', 512)
#2 internal_data/code_cache/templates/l1/s15/public/xa_ams_article_wrapper_macros.php(186): XF\Template\Templater->method(Object(EWR\Porta\Entity\Article), 'getExtraFieldTa...', Array)
#3 src/XF/Template/Templater.php(663): XF\Template\Templater->{closure}(Object(xenMade\LAU\XF\Template\Templater), Array, Array)
#4 internal_data/code_cache/templates/l1/s15/public/xa_ams_thread_insert.php(33): XF\Template\Templater->callMacro('xa_ams_article_...', 'tabs', Array, Array)
#5 src/XF/Template/Templater.php(1250): XF\Template\Templater->{closure}(Object(xenMade\LAU\XF\Template\Templater), Array)
#6 src/XF/Template/Templater.php(1324): XF\Template\Templater->renderTemplate('xa_ams_thread_i...', Array)
#7 internal_data/code_cache/templates/l1/s15/public/thread_view.php(207): XF\Template\Templater->includeTemplate('public:xa_ams_t...', Array)
#8 src/XF/Template/Templater.php(1250): XF\Template\Templater->{closure}(Object(xenMade\LAU\XF\Template\Templater), Array)
#9 src/XF/Template/Template.php(24): XF\Template\Templater->renderTemplate('thread_view', Array)
#10 src/XF/Mvc/Renderer/Html.php(48): XF\Template\Template->render()
#11 src/XF/Mvc/Dispatcher.php(332): XF\Mvc\Renderer\Html->renderView('XF:Thread\\View', 'public:thread_v...', Array)
#12 src/XF/Mvc/Dispatcher.php(303): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#13 src/XF/Mvc/Dispatcher.php(44): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#14 src/XF/App.php(1931): XF\Mvc\Dispatcher->run()
#15 src/XF.php(329): XF\App->run()
#16 index.php(13): XF::runApp('XF\\Pub\\App')
#17 {main}



Request state



array(4) {
["url"] => string(33) "/threads/welcome-em-corathan.356/"
["referrer"] => string(21) "https://titanx.games/"
["_GET"] => array(0) {
}
["_POST"] => array(0) {
}
}



Delete

And with a little technically challenged due diligence, I already see that the issue is XenAddons AMS. So I guess the end question is there any way to perhaps provide Bob or even yourself with information or anything that could maybe help to resolve the conflict between your two add-ons and allow for a harmonious introduction of both? As both hold their own necessary purposes to many of us who use them.

Thanks.
 
And with a little technically challenged due diligence, I already see that the issue is XenAddons AMS. So I guess the end question is there any way to perhaps provide Bob or even yourself with information or anything that could maybe help to resolve the conflict between your two add-ons and allow for a harmonious introduction of both? As both hold their own necessary purposes to many of us who use them.
As Jaxel already mentioned, this particular issue stems from 1 or more addons passing the same generic variable into a core controller. I've already updated the single instance where I was passing in $article and now use $amsArticle instead. btw, this was implemented in AMS 2.0.0 RC 4 which you have access to, so updating AMS will resolve the issue for you.
 
As Jaxel already mentioned, this particular issue stems from 1 or more addons passing the same generic variable into a core controller. I've already updated the single instance where I was passing in $article and now use $amsArticle instead. btw, this was implemented in AMS 2.0.0 RC 4 which you have access to, so updating AMS will resolve the issue for you.

You're like a ninja Wizard... :P Thank you.
 
We have a brand new Xenforo installation and a brand new copy of Xenporta. When attempting to install we get this error message:

———-
We found some errors while trying to install the following add-on:
[8WR] XenPorta 2 (Portal) PRO 2.1.0.0
The following errors must be resolved before continuing:
[8WR] XenPorta 2 (Portal) PRO requires XenForo 2.0.0+.
———-

We are running a clean install of Xenforo 2.0.10.
 
XF 2.1 is only in beta, is it not?

Is there a way to download the previous version of Xenporta? I've literally just bought it today. That update must have happened just before we bought it!
 
Last edited:
Thanks! Looks like we have it working.

Struggling a bit on the setup, and tried testing a couple of functions on our dev board. If I hit the Promote to Article link on a thread I get a "Page Not Found" error; the Promote to Feature link seems to be OK though. The non-working link seems to be:

[baseURL]/index.php?threads/remember-remember-the-fifth-of-november-politics-intrigue-in-rpgs.472071/article-edit
 
Top Bottom