Jump to content

Meddysong

Clients
  • Joined

  • Last visited

Everything posted by Meddysong

  1. He hasn't been and so is on the process of transferring his apps and plugins to @Adriano Faria, who certainly is supportive. Funnily enough, this particular app appears to have been transferred to Adriano's care on the few minutes since you posted this. 🙂
  2. Wow, what a spectacularly good memory! Yes, I tweak content to so that English text is shown in Pages if English is selected but Esperanto when the user changes language. There are a couple of different techniques. The one I've used most often is to add some code within the article itself: <h1 class="longer-text"><span>{{if member.language()->id === 1 }}We’re a charity which has the aim of providing education to people in and about Esperanto.{{else}}Ni estas bonfara asocio, kiu celas eduki homojn en Britio, kiuj volas lerni Esperanton.{{endif}}</span></h1> English is the language with the id 1, so if the member is using English, then the text in the if-clause shows; otherwise, they see the else-clause. Another approach is to use blocks, giving them names with a language marker differentiating them, so block_en and block_eo. That would come in handy for longer pieces of code because you're not forever writing out if-conditions. I can't remember where I've used this but looking through some old blocks, it seems that I have a particular block which creates a variable with the value "en" or "eo" depending on what the current language is: {{\IPS\Settings::i()->lingvo = substr(\IPS\Member::loggedIn()->language()->short, 0, 2);}} (The variable gets its value from the first two letters of my language packs: en_GB and eo_XX.) I presume I must've used that block on a page and then at relevant points added a line within an article to call the relevant block: {block="block_{$lingvo}"} or something like that. My site is such a mess, though, that I can't track down anywhere using that approach. It might be that it didn't work, I suppose. My first approach definitely does work, and a similar one to this second one does with Pages databases too: <p>{{if substr(\IPS\Member::loggedIn()->language()->short, 0, 2)=="eo"}}{$record->customFieldDisplayByKey('people_bio_eo', 'display')|raw}{{else}}{$record->_content|raw}{{endif}}</p> This was all very experimental a few years ago, though. Now I just stick to the first approach, even though it means dozens of if-clauses. It's a headache at the time but if you're not going to change the content, then it's survivable.
  3. Yes, but you need to know what the tags are, which makes things a bit challenging. {member_name} doesn't mean anything in this software, which is why it's not working for you. If you want to display a member's name, then you need: {expression="\IPS\Member::loggedIn()->name"} or its shorthand version: {expression="member.name"} I'm afraid I don't know where you can find a list of these expressions. My technique is to look for similar expressions in the templates and then experiment.
  4. Meddysong replied to alphamale's post in a topic in General Questions
    You might be well served to get a 14-day free demo account, create a couple of forums including one which will feature in a feed, and then set up a homepage with Pages. That'll give you an idea of what the possibilities are and whether they're what you're looking for before you spend $100 on the app: https://invisioncommunity.com/clientarea/demo/
  5. Meddysong replied to alphamale's post in a topic in General Questions
    Providers: https://invisioncommunity.com/third-party/providers/ Guides: Release notes: https://invisioncommunity.com/release-notes/ And, as you've noted, the company blog: https://invisioncommunity.com/news/
  6. A visitor is anyone accessing your site. That includes your admins, your members, bots, people who aren't logged in... A guest is a visitor who isn't logged into an account. We're members in this community but if we logged out, we'd be guests, just as we are when we browse any other community for which we don't have an account.
  7. I think he's suggesting that the site isn't actually offline but it will appear to be for an affected user. Whilst everyone else is using the site, the unlucky user will occasionally see an offline screen as though the site were genuinely unavailable. It would be offline for him only at that particular time.
  8. 🙂 It seems to work:
  9. Or I suppose you could expect people to track down your blog instead of providing a link to it ... Try .ipsBadge.ipsBadge_style1.ipsPos_right.cBlogCategoryCount { display: none; } in your custom.css.
  10. Most of us can't because we don't have the Blog app. If you post a link to your blog, it should be easy for people to check for you.
  11. There are two approaches which I think you could take: 1) Purchase the Pages app and make that the default app for the suite. Replicate your HTML page there. Your forums will be found at site.com/forums. 2) Move your installation of Invision Community from site.com to site.com/forums. That leaves site.com free for whatever you want to put there. Bear in mind that if you purchase further apps, they'll also be at site.com/forums, so you'll get site.com/forums/gallery, etc, rather than site.com/gallery if you take this approach.
  12. The plugin is defunct now that there is built-in functionality to create announcements, which you can access from the Create menu and the Moderator Control Panel:
  13. Have you tried clearing the cache? That's the usual solution when this happens. (Support > Something isn't working correctly.)
  14. That's normal: There's a margin-left on the block so that the text doesn't sit underneath the club icon. But the consequence is that when the width is narrow, sometimes the text sits with a margin even though the club icon is not in the space.
  15. Or do you mean: "Would there be similar implications if I chose to remove it without paying the $20 as there would be if I removed the Invision Community branding?"
  16. As others have said, you need to purchase 'Branding Removal' is a separate product which you have to purchase in the client area. Removing it in some other way would violate the terms of service you agreed to when making the initial purchase. That would still leave you with the theme information; you would need to purchase copyright removal for that from the designer: https://www.ipsfocus.com/themes/copyright/
  17. That's standard behaviour and isn't controlled by a setting. The logo template is set up so that if there isn't a logo uploaded, the name of the community shows instead. To make your name disappear, you could: 1) Add a logo. 2) Add the following to your custom CSS: #elSiteTitle { display: none; } 3) Edit the template logo in your theme. Since editing templates isn't a good idea if you can avoid it, I wouldn't do that. Either of 1 or 2 will solve the problem.
  18. No, it's outside of Invision Community. A locale is a file stored on your server and accessed by the software.
  19. Invision Community has a specific app for blogging: https://invisioncommunity.com/features/content/#blogs
  20. Unfortunately not with Databases, no, because each one can have custom fields, so things would break if a record from A were moved to B. If you're comfortable with SQL, then you could insert a record's details (everything except for the fields) into the relevant database table, and then remove it from the original. But there isn't a built-in solution, I'm afraid.
  21. Lovely: that's sorted out how to set out the joins. Thank you for that. For anybody who is looking to do the same, you preprend the JOIN aliases to the field word_custom in the SELECT part to disambiguate: SELECT p_id AS ID, titleEn.word_custom AS Title, descEn.word_custom AS Description, p_group AS Category, categories.pg_id, categories.pg_parent, catName.word_custom AS Category, parentCat.word_custom AS 'Category Parent', p_stock AS Stock, p_store AS 'On Sale', GBP AS Price, p_discounts AS Discounts, titleEo.word_custom AS Titolo, descEo.word_custom AS Priskribo, from_unixtime(p_date_added, '%Y-%d-%m') AS Added, from_unixtime(p_date_updated, '%Y-%d-%m') AS Updated FROM nexus_packages as np LEFT JOIN core_sys_lang_words AS titleEn ON titleEn.lang_id=1 AND titleEn.word_key=CONCAT('nexus_package_', np.p_id) LEFT JOIN core_sys_lang_words AS descEn ON descEn.lang_id=1 AND descEn.word_key=CONCAT('nexus_package_', np.p_id, '_desc') LEFT JOIN core_sys_lang_words AS titleEo ON titleEo.lang_id=2 AND titleEo.word_key=CONCAT('nexus_package_', np.p_id) LEFT JOIN core_sys_lang_words AS descEo ON descEo.lang_id=2 AND descEo.word_key=CONCAT('nexus_package_', np.p_id, '_desc') LEFT JOIN nexus_package_base_prices AS prices ON prices.id = np.p_id LEFT JOIN nexus_package_groups AS categories ON categories.pg_id = np.p_group LEFT JOIN core_sys_lang_words AS catName ON catName.lang_id=1 AND catName.word_key=CONCAT('nexus_pgroup_', categories.pg_id) LEFT JOIN core_sys_lang_words AS parentCat ON parentCat.lang_id=1 AND parentCat.word_key=CONCAT('nexus_pgroup_', categories.pg_parent) ORDER BY p_store DESC In other words, if your alias is 'title', then your SELECT line will feature 'title.word_custom'.
  22. I don't know whether there's a way to build conditional logic into the string. It's possible with numbers but the relevant template files know that a logic check is coming and are written differently accordingly. You do have the option here of changing the order of elements, so you could have: %2$s antwortete auf %1$s von/des %3$s in if that sounds fairly natural. That just passes a problem on, though, I think because you'd need to choose between articles depending on the gender of topic/blog post/file etc of whatever %1$s is going to be in a situation. You're probably best served to keep the ordering and accept that sometimes it's not grammatically perfect. There are plenty of people who (wrongly) believe that apostrophe-s doesn't follow 's' in English but who have to get used to seeing James's etc online. This sort of conundrum is why.
  23. I'm trying to create a query which will display the items we have for sale, the descriptions, the stock count, and so on. One of the challenges I have is that the site has two languages, so if I want the name of a product, I have to look in core_sys_lang_words: SELECT p_id AS ID, word_custom AS Title, word_custom AS Description, p_group AS Category, p_stock AS Stock, p_store AS 'In Store', GBP AS Price, p_discounts AS Discounts, from_unixtime(p_date_added, '%Y-%d-%m') AS Added, from_unixtime(p_date_updated, '%Y-%d-%m') AS Updated FROM nexus_packages as np LEFT JOIN core_sys_lang_words as lang ON lang.lang_id=1 AND lang.word_key=CONCAT('nexus_package_', np.p_id) LEFT JOIN nexus_package_base_prices as prices ON prices.id = np.p_id ORDER BY p_store DESC The crucial part there is: LEFT JOIN core_sys_lang_words as lang ON lang.lang_id=1 AND lang.word_key=CONCAT('nexus_package_', np.p_id) For the product with the p_id 1, that looks up the row with the value nexus_package_1 in the field word_key, returning the value for word_custom: Here's where I am stuck: 1) I'd also like to select the description, which is in the field word_custom where the word_key is nexus_package_X_desc. 2) I'd ideally like to select the title and description where lang_id = 2 too. 3) I'd also like to select the category name, which will involve looking up word_custom for 'nexus_pgroup_X'. The problem I'm experiencing is in the SELECT line, since in each case it involves the field word_custom, which will naturally repeat the same value every time I mention it. How can I do the equivalent of word_custom AS Description, word_custom AS 'Title (language 2)', word_custom AS 'Category (language 1), word_custom AS 'Category (language 2), etc?
  24. Don't change it in block.css because it may be overwritten in future updates; make the change in your custom.css file instead.
  25. It means that only your account will see the strings presented like that. But that's the wrong function anyway: you need the Visual Language Editor, which will allow you to change the string by clicking and holding over it.