Adding new social links

Permalink
Hi there
I've added a social link for stackoverflow in the
/application/config/generated_overrides/concrete.php
-file

like this:
'social' => array(
        'additional_services' => array(
            array(
                'stackexchange', // the handle
                'StackExchange', // the title
                'stack-exchange' // the icon -> will be fa-stack-exchange in html
            ),
        ),
    ),
which is working fine. Now I wanted to add another one for linking to my c5 profile but I couldn't find the awesome icon for c5... Does it exist?
I was looking here:http://fortawesome.github.io/Font-Awesome/icons/...

It is possible that it has been forgotten while coding the new c5? ;-)
Would be nice to have it...

EDIT:

I see now thats already requested:https://github.com/FortAwesome/Font-Awesome/issues/2033...

daenu
View Replies: View Best Answer
MrKDilkington replied on at Permalink Reply
MrKDilkington
Hi Daenu,

The additional_services subarrays accept a fourth element for custom HTML.

Example: custom HTML
array(
    'hello_world',
    'Hello World',
    'hi',
    '<span class="hi">Hi</span>',
)

The custom HTML can be used to include an SVG image as a pseudo-element. This approach is not always straightforward though and can be time consuming. I've been working on a How-To that explains the process.
daenu replied on at Permalink Best Answer Reply
daenu
Hi MrKDilkington
I've just finished an HowTo on the subject...
I personally find it much better having an awesome icon. If you go to the github repo giving also a +1 for the request, it will be done faster... hopefully.
https://github.com/FortAwesome/Font-Awesome/issues/2033...

The more of us requesting it the better it will be. When my HowTo is approved, I'll add your feature to it... with credits to you naturally! BTW it was you infecting me with the HowTo virus ;-)
MrKDilkington replied on at Permalink Reply
MrKDilkington
I agree that using Font Awesome is much much easier.

The problem is adding new fonts to Font Awesome takes a while (sometimes they never get added).

There can never be enough How-Tos and tutorials.

Don't forget that there is alsohttp://concrete5recipes.com for posting useful snippets of code. This is great for situations where you might not have a full How-To/tutorial, but want to share code.
daenu replied on at Permalink Reply
daenu
So do you think that this subject isn't enough for a HowTo?
MrKDilkington replied on at Permalink Reply
MrKDilkington
I definitely think it is enough for a How-To.
manoffuture replied on at Permalink Reply
This is the header of the file you mentioned.

/**
* -----------------------------------------------------------------------------
* Generated 2017-11-04T22:41:02+03:00
*
* DO NOT EDIT THIS FILE DIRECTLY
*
* @item misc.latest_version
* @group concrete
* @namespace null
* -----------------------------------------------------------------------------
*/

So, why edit this file? Isn't there any place to define additional services?
daenu replied on at Permalink Reply
daenu
No there isn't. That's why this is just a faster way to edit a config file rather than creating a new dashboard page. (See below).
But the warning is ment for people being not so familiar with those config files.

Also, feel free to create a new Dashboard page in application folder or inside a package (addon) which creates a nice GUI to handle that.

Also feel free to submit your work as a pull request on github. Im sure the core developers will be glad to have this page into the next version.
https://github.com/concrete5/concrete5...

The PHP code to write into a config file (application/config/generated_overrides) look like this:

$configArray['additional_services'] = array(
   'stackexchange',
    'StackExchange',
    'stack-exchange'
);
// To write a value
\Config::save('concrete.social.additional_services', $configArray);
// To get a value:
\Config::get('concrete.social.additional_services');


How to create a dashboard single page including controller is described here:https://documentation.concrete5.org/developers/working-with-pages/si...

If you're not a developer or not familiar with such things I'll be glad to create a package containing such a page for you. Just drop me a line in a PM.
mesuva replied on at Permalink Reply
mesuva
In v8 I'm pretty certain that you can create the file /application/config/concrete.php and add the social array there by itself. That's preferable to editing the generated config file.

It's working for me in v8 at least, not sure in 5.7 though.
jasteele12 replied on at Permalink Reply
jasteele12
This definitely works in 5.7.5.13 - 8.2.1/8.3.0RC1
jasteele12 replied on at Permalink Reply
jasteele12
The warning is there for a reason.

If you'd like to prove it to yourself, simply create or edit application/config/concrete.php and watch your changes magically disappear.

The directory is called generated_overrides for a reason.